node-red-contrib-opentelemetry 1.2.0
Distributed tracing with OpenTelemetry SDK for Node-RED
Node-RED OpenTelemetry
Distributed tracing with OpenTelemetry SDK for Node-RED.
Key features
- based on messaging hooks:
- create spans on
onSend(source)
andpostDeliver(destination)
events, - end spans on
onComplete
andpostDeliver(source)
events.
- create spans on
- trace includes:
- message id,
- flow id,
- node id,
- node type,
- node name (if filled),
- hostname,
- optionally
http status code
(for request node type), - optionally
exception
.
Installation
Search node-red-contrib-opentelemetry
within the palette manager or install with npm from the command-line (within your user data directory):
npm install node-red-contrib-opentelemetry
As with every node installation, you will need to restart Node-RED for it to pick-up the new nodes.
Usage
- Add OTEL node once (to any flow),
- Setup the node:
- set OTEL exporter url (example for Jaeger:
http://localhost:4318/v1/traces
), - define a service name (will be displayed as span service),
- define an optional root span prefix (will be added in Node-RED root span name),
- define nodes that should not send traces (using comma-separated list like
debug,catch
), - define nodes that should propagate W3C trace context (in http request headers, using comma-separated list like
http request,my-custom-node
), - define time in seconds after which an unmodified message will be ended and deleted,
- set OTEL exporter url (example for Jaeger:
Versioning
node-red-contrib-opentelemetry is maintained under the semantic versioning guidelines.
See the releases on this repository for changelog.
Contributors
See also the full list of contributors to this project.
License
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details