mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-17 02:53:11 -06:00
Merge latest updates to Dendrite Of note, this no longer builds the Dendrite polylith server, which we never planned to use anyway I want to make sure I didn't break the clientapi/routing/routing.go redaction events, our code differs from Dendrite in that call path. --------- Signed-off-by: Brian Meek <brian@hntlabs.com> Co-authored-by: Tak Wai Wong <64229756+tak-hntlabs@users.noreply.github.com>
1.4 KiB
1.4 KiB
| title | parent | grand_parent | permalink |
|---|---|---|---|
| Setup | OpenTracing | Development | /development/opentracing/setup |
OpenTracing Setup
Dendrite uses Jaeger for tracing between microservices. Tracing shows the nesting of logical spans which provides visibility on how the microservices interact. This document explains how to set up Jaeger locally on a single machine.
Set up the Jaeger backend
The easiest way is to use the all-in-one Docker image:
$ docker run -d --name jaeger \
-e COLLECTOR_ZIPKIN_HTTP_PORT=9411 \
-p 5775:5775/udp \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
-p 16686:16686 \
-p 14268:14268 \
-p 14250:14250 \
-p 9411:9411 \
jaegertracing/all-in-one:1.18
Configuring Dendrite to talk to Jaeger
Modify your config to look like: (this will send every single span to Jaeger which will be slow on large instances, but for local testing it's fine)
tracing:
enabled: true
jaeger:
serviceName: "dendrite"
disabled: false
rpc_metrics: true
tags: []
sampler:
type: const
param: 1
then run the monolith server:
./dendrite-monolith-server --tls-cert server.crt --tls-key server.key --config dendrite.yaml
Checking traces
Visit http://localhost:16686 to see traces under DendriteMonolith.