Skip to content

Commit 8206ebb

Browse files
authored
Make collector mermaid diagrams darkmode compatible (#6013)
1 parent c0a5eea commit 8206ebb

File tree

1 file changed

+78
-91
lines changed

1 file changed

+78
-91
lines changed

content/en/docs/collector/architecture.md

+78-91
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,18 @@ The following diagram represents a typical pipeline:
4444
title: Pipeline
4545
---
4646
flowchart LR
47-
R1(Receiver 1) --> P1[Processor 1]
48-
R2(Receiver 2) --> P1
49-
RM(...) ~~~ P1
50-
RN(Receiver N) --> P1
51-
P1 --> P2[Processor 2]
52-
P2 --> PM[...]
53-
PM --> PN[Processor N]
54-
PN --> FO((fan-out))
55-
FO --> E1[[Exporter 1]]
56-
FO --> E2[[Exporter 2]]
57-
FO ~~~ EM[[...]]
58-
FO --> EN[[Exporter N]]
59-
60-
%% The stroke color matches the website header.
61-
classDef default fill:#e3e8fc,stroke:#4f62ad
47+
R1(Receiver 1) --> P1[Processor 1]
48+
R2(Receiver 2) --> P1
49+
RM(...) ~~~ P1
50+
RN(Receiver N) --> P1
51+
P1 --> P2[Processor 2]
52+
P2 --> PM[...]
53+
PM --> PN[Processor N]
54+
PN --> FO((fan-out))
55+
FO --> E1[[Exporter 1]]
56+
FO --> E2[[Exporter 2]]
57+
FO ~~~ EM[[...]]
58+
FO --> EN[[Exporter N]]
6259
```
6360

6461
Pipelines can have one or more receivers. Data from all receivers is pushed to
@@ -123,13 +120,11 @@ of processors and exporters are omitted for brevity):
123120

124121
```mermaid
125122
flowchart LR
126-
R1("`#quot;opentelemetry-collector#quot; Receiver`") --> FO((fan-out))
127-
FO -->|Pipeline 'traces'| P1["`#quot;memory_limiter#quot; Processor`"]
128-
FO -->|Pipeline 'traces/2'| P2["`#quot;transform#quot; Processor`"]
129-
P1 ~~~ M1[...]
130-
P2 ~~~ M2[...]
131-
132-
classDef default fill:#e3e8fc,stroke:#4f62ad;
123+
R1("`#quot;opentelemetry-collector#quot; Receiver`") --> FO((fan-out))
124+
FO -->|Pipeline 'traces'| P1["`#quot;memory_limiter#quot; Processor`"]
125+
FO -->|Pipeline 'traces/2'| P2["`#quot;transform#quot; Processor`"]
126+
P1 ~~~ M1[...]
127+
P2 ~~~ M2[...]
133128
```
134129

135130
{{% alert title="Important" color="warning" %}}
@@ -191,12 +186,10 @@ this diagram (part of processors and receivers are omitted for brevity):
191186

192187
```mermaid
193188
flowchart LR
194-
M1[...] ~~~ P1["`#quot;memory_limiter#quot; Processor`"]
195-
M2[...] ~~~ P2["`#quot;transform#quot; Processor`"]
196-
P1 -->|Pipeline 'traces'|E1[["`#quot;otlp#quot; Exporter`"]]
197-
P2 -->|Pipeline 'traces/2'|E1
198-
199-
classDef default fill:#e3e8fc,stroke:#4f62ad;
189+
M1[...] ~~~ P1["`#quot;memory_limiter#quot; Processor`"]
190+
M2[...] ~~~ P2["`#quot;transform#quot; Processor`"]
191+
P1 -->|Pipeline 'traces'|E1[["`#quot;otlp#quot; Exporter`"]]
192+
P2 -->|Pipeline 'traces/2'|E1
200193
```
201194

202195
### Processors
@@ -247,21 +240,17 @@ When the Collector loads this config, the result looks like this diagram:
247240
title: Pipeline "traces"
248241
---
249242
flowchart LR
250-
R1("`zipkin Receiver`") --> P1["`#quot;batch#quot; Processor`"]
251-
P1 --> E1[["`#quot;otlp#quot; Exporter`"]]
252-
253-
classDef default fill:#e3e8fc,stroke:#4f62ad;
243+
R1("`zipkin Receiver`") --> P1["`#quot;batch#quot; Processor`"]
244+
P1 --> E1[["`#quot;otlp#quot; Exporter`"]]
254245
```
255246

256247
```mermaid
257248
---
258249
title: Pipeline "traces/2"
259250
---
260251
flowchart LR
261-
R1("`otlp Receiver`") --> P1["`#quot;batch#quot; Processor`"]
262-
P1 --> E1[["`#quot;otlp#quot; Exporter`"]]
263-
264-
classDef default fill:#e3e8fc,stroke:#4f62ad;
252+
R1("`otlp Receiver`") --> P1["`#quot;batch#quot; Processor`"]
253+
P1 --> E1[["`#quot;otlp#quot; Exporter`"]]
265254
```
266255

267256
Note that each `batch` processor is an independent instance, although they are
@@ -270,7 +259,7 @@ configured the same way with a `send_batch_size` of `10000`.
270259
> The same name of the processor must not be referenced multiple times in the
271260
> `processors` key of a single pipeline.
272261
273-
## <a name="opentelemetry-agent"></a>Running as an agent
262+
## Running as an agent
274263

275264
On a typical VM/container, user applications are running in some processes/pods
276265
with an OpenTelemetry library. Previously, the library did all the recording,
@@ -303,10 +292,8 @@ aggregation.
303292

304293
```mermaid
305294
flowchart LR
306-
subgraph S1 ["#nbsp;"]
307-
subgraph S2 ["#nbsp;"]
308-
end
309-
subgraph S3 ["#nbsp;"]
295+
subgraph S1 ["#nbsp;"]
296+
subgraph S2 ["#nbsp;"]
310297
subgraph VM [VM]
311298
PR["Process [Library]"] -->|Push sample spans, metrics| AB[Agent Binary]
312299
AB -->|Push configs| PR
@@ -332,29 +319,29 @@ flowchart LR
332319
APP4 --> AD
333320
APP6 --> AD
334321
end
335-
end
336-
subgraph Backends ["#nbsp;"]
337-
AB --> BE[Backend]
338-
AS --> PRM[Prometheus Backend]
339-
AS --> JA[Jaeger Backend]
340-
AD --> JA
341-
end
342-
end
343-
344-
class S1,S2,S3 noLines;
322+
end
323+
subgraph Backends ["#nbsp;"]
324+
AB --> BE[Backend]
325+
AS --> PRM[Prometheus Backend]
326+
AS --> JA[Jaeger Backend]
327+
AD --> JA
328+
end
329+
end
330+
331+
class S2 noLines;
345332
class VM,K8s-pod,K8s-node,Pod1,Pod2,Pod3,Backends withLines;
346333
class PR,AB,AC,AS,APP1,APP2,APP3,APP4,APP5,APP6,AD,BE,PRM,JA nodeStyle
347-
classDef noLines fill:#fff,stroke:#fff,stroke-width:4px;
348-
classDef withLines fill:#fff,stroke:#4f62ad
349-
classDef nodeStyle fill:#e3e8fc,stroke:#4f62ad;
334+
classDef noLines stroke:#fff,stroke-width:4px,color:#000000;
335+
classDef withLines fill:#fff,stroke:#4f62ad,color:#000000;
336+
classDef nodeStyle fill:#e3e8fc,stroke:#4f62ad,color:#000000;
350337
```
351338

352339
> For developers and maintainers of other libraries: By adding specific
353340
> receivers, you can configure an agent to accept traces, metrics, and logs from
354341
> other tracing/monitoring libraries, such as Zipkin, Prometheus, etc. See
355342
> [Receivers](#receivers) for details.
356343
357-
## <a name="opentelemetry-collector"></a>Running as a gateway
344+
## Running as a gateway
358345

359346
The OpenTelemetry Collector can run as a gateway instance and receive spans and
360347
metrics exported by one or more agents or libraries or by tasks/agents that emit
@@ -364,61 +351,61 @@ architecture:
364351

365352
```mermaid
366353
flowchart LR
367-
subgraph S1 ["#nbsp;"]
368-
subgraph S2 ["#nbsp;"]
354+
subgraph S1 ["#nbsp;"]
355+
subgraph S2 ["#nbsp;"]
369356
subgraph S3 ["#nbsp;"]
370-
subgraph VM [VM]
371-
PR["Process [Library]"]
372-
end
373-
subgraph K8s-pod [K8s Pod]
374-
AC["`App Container [Library]`"]
375-
end
376-
subgraph K8s-node [K8s Node]
377-
subgraph Pod1 [Pod]
378-
APP1[App] ~~~ APP2[App]
379-
end
380-
subgraph Pod2 [Pod]
381-
APP3[App] ~~~ APP4[App]
382-
end
383-
subgraph Pod3 [Pod]
384-
APP5[App] ~~~ APP6[App]
385-
end
386-
subgraph AD [Agent Daemonset]
387-
end
388-
APP1 --> AD
389-
APP2 --> AD
390-
APP4 --> AD
391-
APP6 --> AD
392-
end
357+
subgraph VM [VM]
358+
PR["Process [Library]"]
359+
end
360+
subgraph K8s-pod [K8s Pod]
361+
AC["`App Container [Library]`"]
362+
end
363+
subgraph K8s-node [K8s Node]
364+
subgraph Pod1 [Pod]
365+
APP1[App] ~~~ APP2[App]
366+
end
367+
subgraph Pod2 [Pod]
368+
APP3[App] ~~~ APP4[App]
369+
end
370+
subgraph Pod3 [Pod]
371+
APP5[App] ~~~ APP6[App]
372+
end
373+
subgraph AD [Agent Daemonset]
374+
end
375+
APP1 --> AD
376+
APP2 --> AD
377+
APP4 --> AD
378+
APP6 --> AD
379+
end
393380
end
394381
subgraph S4 ["#nbsp;"]
395382
PR --> OTEL["`OpenTelemetry Collector Service`"]
396383
AC --> OTEL
397384
AD --> OTEL
398385
OTEL ---> BE[Backend X]
399386
end
400-
end
401-
subgraph S5 ["#nbsp;"]
387+
end
388+
subgraph S5 ["#nbsp;"]
402389
subgraph S6 ["#nbsp;"]
403390
JA[Jaeger Backend]
404391
end
405392
subgraph S7 ["#nbsp;"]
406393
PRM[Prometheus Backend]
407394
end
408-
end
409-
JA ~~~ PRM
410-
OTEL --> JA
411-
OTEL --> PRM
412-
end
395+
end
396+
JA ~~~ PRM
397+
OTEL --> JA
398+
OTEL --> PRM
399+
end
413400
414401
class S1,S3,S4,S5,S6,S7,S8 noLines;
415402
class VM,K8s-pod,K8s-node,Pod1,Pod2,Pod3 withLines;
416403
class S2 lightLines
417404
class PR,AC,APP1,APP2,APP3,APP4,APP5,APP6,AD,OTEL,BE,JA,PRM nodeStyle
418-
classDef noLines fill:#fff,stroke:#fff,stroke-width:4px;
419-
classDef withLines fill:#fff,stroke:#4f62ad
420-
classDef lightLines fill:#fff,stroke:#acaeb0
421-
classDef nodeStyle fill:#e3e8fc,stroke:#4f62ad;
405+
classDef noLines stroke-width:0px,color:#000000;
406+
classDef withLines fill:#fff,stroke:#4f62ad,color:#000000;
407+
classDef lightLines stroke:#acaeb0,color:#000000;
408+
classDef nodeStyle fill:#e3e8fc,stroke:#4f62ad,color:#000000;
422409
```
423410

424411
The OpenTelemetry Collector can also be deployed in other configurations, such

0 commit comments

Comments
 (0)