Observability — stderr JSON sink

The runnable companion to the observability chapter's sink layer: a DcpsRuntime started with StderrJsonSink, then a writer and a reader so the lifecycle events actually fire.

What it shows

  • RuntimeConfig.observability = Arc::new(StderrJsonSink::new()), verbatim from the chapter.
  • One JSON line per lifecycle event on stderr; order may vary.
  • Runs on domain 9 so it does not collide with the domain-1 first-publisher companion.

Build and run

cargo run

Output

{"level":"info","component":"dcps","name":"user_writer.created","attrs":{"topic":"Telemetry","type":"Robot::Pose","reliable":"true"}}
{"level":"info","component":"dcps","name":"user_reader.created","attrs":{"topic":"Commands","type":"Robot::Cmd"}}

Taken verbatim from the example's own README.

See also

Observability — stderr-JSON-Sink

Der lauffähige Begleiter zur Sink-Ebene des Observability-Kapitels: ein DcpsRuntime, gestartet mit StderrJsonSink, dann ein Writer und ein Reader, damit die Lifecycle-Events tatsächlich auslösen.

Was es zeigt

  • RuntimeConfig.observability = Arc::new(StderrJsonSink::new()), wörtlich aus dem Kapitel.
  • Eine JSON-Zeile je Lifecycle-Event auf stderr; die Reihenfolge kann variieren.
  • Läuft auf Domain 9, damit es nicht mit dem First-Publisher-Begleiter auf Domain 1 kollidiert.

Bauen und ausführen

cargo run

Ausgabe

{"level":"info","component":"dcps","name":"user_writer.created","attrs":{"topic":"Telemetry","type":"Robot::Pose","reliable":"true"}}
{"level":"info","component":"dcps","name":"user_reader.created","attrs":{"topic":"Commands","type":"Robot::Cmd"}}

Wörtlich aus dem README des Beispiels übernommen.

Verwandt