203 releases (38 breaking)
Uses new Rust 2021
|0.71.0||Sep 19, 2022|
|0.69.0||Sep 7, 2022|
|0.64.3||Jul 12, 2022|
|0.49.9||Jun 25, 2021|
|0.25.18||Dec 21, 2020|
#664 in Network programming
388 downloads per month
The Safe Network Node Implementation.
OpenTelemetry Protocol (OTLP)
OTLP allows for inspecting and visualizing log spans.
By specifying the
otlp feature for the
sn_node binary, logs will be sent to an OTLP endpoint. This endpoint can be configured by environment variables. (See opentelemetry.io/docs/... for more information.)
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317" # Already the default export RUST_LOG=sn_node=info # This filters the output for stdout/files, not OTLP export RUST_LOG_OTLP=sn_node=trace # This filters what is sent to OTLP endpoint cargo run --release --bin sn_node --features otlp -- --first --skip-auto-port-forwarding --local-addr=127.0.0.1:0
Before running the node, an OTLP endpoint should be available. An example of an OTLP-supporting endpoint is Jaeger, which can be launched with Docker like this (see documentation):
docker run --name jaeger \ -e COLLECTOR_OTLP_ENABLED=true \ -p 16686:16686 \ -p 4317:4317 \ -p 4318:4318 \ jaegertracing/all-in-one:1.36
In the web interface of Jaeger (http://localhost:16686) one can filter several things, e.g. the tag
service.instance.id=<PID>, where PID is the process ID of the node. The service name is
safe_network is licensed under GPLv3 with linking exception. This means you can link to and use the library from any program, proprietary or open source; paid or gratis. However, if you modify safe_network, you must distribute the source to your modified version under the terms of the GPLv3.
See the LICENSE file for more details.
Want to contribute? Great 🎉
There are many ways to give back to the project, whether it be writing new code, fixing bugs, or just reporting errors. All forms of contributions are encouraged!
For instructions on how to contribute, see our Guide to contributing.