Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolves #2069 #2070

Merged
merged 2 commits into from
Jan 21, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions udf/agent/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# UDF Agents and Servers

A UDF is a User Defined Function, meaning that you can write your own functions/algorithms and plug them into Kapacitor.
Your custom function runs in its own process and Kapacitor communicates with it via a defined protocol, see [udf.proto](https://github.com/influxdata/kapacitor/blob/master/udf/udf.proto).
Your custom function runs in its own process and Kapacitor communicates with it via a defined protocol, see [udf.proto](https://github.com/influxdata/kapacitor/blob/master/udf/agent/udf.proto).
To facilitate working with the protocol several `agents` have been written in various languages that abstract the protocol communication through an interface in the respective languages.
You can find those agent implementations in this directory and subdirectories based on language name.


Example uses of the agents can be found in the `examples` directory.
These examples are working examples and are executed as part of the testing suite,
see [server_test.go](https://github.com/influxdata/kapacitor/blob/master/cmd/kapacitord/run/server_test.go).
see [server_test.go](https://github.com/influxdata/kapacitor/blob/master/server/server_test.go).

## Child process vs Socket

Expand Down Expand Up @@ -65,4 +65,3 @@ Once a keepalive timeout is reached and after a 2*keepalive_time grace period, i
It is expected that the example can run inside the test suite.
Since generating different protocol buffer code requires different plugins and libraries to run we make use of Docker to provide the necessary environment.
This makes testing the code easier as the developer does not have to install each supported language locally.