mirror of
https://github.com/1f349/dendrite.git
synced 2024-12-24 01:04:14 +00:00
76db8e90de
### Pull Request Checklist <!-- Please read https://matrix-org.github.io/dendrite/development/contributing before submitting your pull request --> I was reading through the Dendrite documentation on https://matrix-org.github.io/dendrite/development/contributing and noticed the installation link leads to a 404 error. This link works fine if it is viewed directly from [docs/CONTRIBUTING.md](https://github.com/matrix-org/dendrite/blob/main/docs/CONTRIBUTING.md) but this might not be very obvious to new contributors who are reading through the [contribution page](https://matrix-org.github.io/dendrite/development/contributing) directly. This PR is mainly a small re-organization of the online documentation mainly in the [Development](https://matrix-org.github.io/dendrite/development) tab along with any links throughout the doc that may be impacted by the change. This does not contain any Go unit tests as this does not actually touch core dendrite functionality. * [ ] I have added Go unit tests or [Complement integration tests](https://github.com/matrix-org/complement) for this PR _or_ I have justified why this PR doesn't need tests * [x] Pull request includes a [sign off below using a legally identifiable name](https://matrix-org.github.io/dendrite/development/contributing#sign-off) _or_ I have already signed off privately Signed-off-by: `Kento Okamoto <kentokamoto@proton.me>`
58 lines
1.4 KiB
Markdown
58 lines
1.4 KiB
Markdown
---
|
|
title: Setup
|
|
parent: OpenTracing
|
|
grand_parent: Development
|
|
permalink: /development/opentracing/setup
|
|
---
|
|
|
|
# OpenTracing Setup
|
|
|
|
Dendrite uses [Jaeger](https://www.jaegertracing.io/) 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](https://www.jaegertracing.io/docs/1.18/getting-started/) 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 with `--api true` to use polylith components which do tracing spans:
|
|
|
|
```
|
|
./dendrite-monolith-server --tls-cert server.crt --tls-key server.key --config dendrite.yaml --api true
|
|
```
|
|
|
|
## Checking traces
|
|
|
|
Visit <http://localhost:16686> to see traces under `DendriteMonolith`.
|