# kgopi1/opentelemetry-labs architecture

> Architecture diagram of the GitHub repository kgopi1/opentelemetry-labs, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kgopi1/opentelemetry-labs
- Repository: https://github.com/kgopi1/opentelemetry-labs

## Overview

This repository is a collection of observability course labs, not an application with a runtime workflow. Its materials cover setup, introductory lessons, collector configuration, later daily labs, Prometheus topics, and troubleshooting. The README identifies the course context, but no source excerpts or documented links between individual materials are available, so the graph does not infer a lesson sequence or tool interactions.

Main entry points: [`README.md`](https://github.com/kgopi1/opentelemetry-labs/blob/main/README.md) (Lab collection)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_setup["Environment Setup"]
  node_setup_lab["Lab setup<br/>[Lab-setup.md]"]
  node_mongo_setup["MongoDB install"]
  node_nvm_setup["NVM install<br/>[install-nvm.sh]"]
  node_docker_setup["Docker install<br/>[install-docker.txt]"]
  node_lab_setup_script["Lab setup script<br/>[lab-setup.sh]"]
end

subgraph group_labs["Course Labs"]
  node_readme["Lab collection<br/>[README.md]"]
  node_day1_basics["Basics lesson<br/>[basics.md]"]
  node_collector_lesson["Collector lesson<br/>[collector.md]"]
  node_collector_config["Collector config<br/>[config.yaml]"]
  node_day3_lab["Day three lab<br/>[day3.txt]"]
  node_day4_lab["Day four lab<br/>[day4.txt]"]
  node_node_basics["Node.js basics<br/>[node-js-basics.txt]"]
end

subgraph group_operations["Observability Operations"]
  node_prom_day0["Prometheus day zero<br/>[day0.txt]"]
  node_prom_day1["Prometheus day one<br/>[day1.txt]"]
  node_jaeger_setup["Jaeger setup<br/>[jaegar.sh]"]
  node_troubleshooting["Troubleshooting"]
end

node_learner(("Course participant"))

node_readme -->|"supports course"| node_learner

click node_readme "https://github.com/kgopi1/opentelemetry-labs/blob/main/README.md"
click node_setup_lab "https://github.com/kgopi1/opentelemetry-labs/blob/main/day0/Lab-setup.md"
click node_mongo_setup "https://github.com/kgopi1/opentelemetry-labs/blob/main/day0/MongoDB-Install-steps.txt"
click node_nvm_setup "https://github.com/kgopi1/opentelemetry-labs/blob/main/day0/install-nvm.sh"
click node_docker_setup "https://github.com/kgopi1/opentelemetry-labs/blob/main/install-docker.txt"
click node_lab_setup_script "https://github.com/kgopi1/opentelemetry-labs/blob/main/lab-setup.sh"
click node_day1_basics "https://github.com/kgopi1/opentelemetry-labs/blob/main/day1/basics.md"
click node_collector_lesson "https://github.com/kgopi1/opentelemetry-labs/blob/main/day2/collector.md"
click node_collector_config "https://github.com/kgopi1/opentelemetry-labs/blob/main/day2/config.yaml"
click node_day3_lab "https://github.com/kgopi1/opentelemetry-labs/blob/main/day3/day3.txt"
click node_day4_lab "https://github.com/kgopi1/opentelemetry-labs/blob/main/day4/day4.txt"
click node_node_basics "https://github.com/kgopi1/opentelemetry-labs/blob/main/node-js-basics.txt"
click node_prom_day0 "https://github.com/kgopi1/opentelemetry-labs/blob/main/promethus/day0.txt"
click node_prom_day1 "https://github.com/kgopi1/opentelemetry-labs/blob/main/promethus/day1.txt"
click node_jaeger_setup "https://github.com/kgopi1/opentelemetry-labs/blob/main/jaegar.sh"
click node_troubleshooting "https://github.com/kgopi1/opentelemetry-labs/blob/main/troubleshooting.txt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_setup_lab,node_mongo_setup,node_nvm_setup,node_docker_setup,node_lab_setup_script toneBlue
class node_readme,node_day1_basics,node_collector_lesson,node_collector_config,node_day3_lab,node_day4_lab,node_node_basics toneAmber
class node_prom_day0,node_prom_day1,node_jaeger_setup,node_troubleshooting toneMint
class node_learner toneIndigo
```

## Components

### Environment Setup

- [Lab setup](https://github.com/kgopi1/opentelemetry-labs/blob/main/day0/Lab-setup.md): `day0/Lab-setup.md`
- [MongoDB install](https://github.com/kgopi1/opentelemetry-labs/blob/main/day0/MongoDB-Install-steps.txt): `day0/MongoDB-Install-steps.txt`
- [NVM install](https://github.com/kgopi1/opentelemetry-labs/blob/main/day0/install-nvm.sh): `day0/install-nvm.sh`
- [Docker install](https://github.com/kgopi1/opentelemetry-labs/blob/main/install-docker.txt): `install-docker.txt`
- [Lab setup script](https://github.com/kgopi1/opentelemetry-labs/blob/main/lab-setup.sh): `lab-setup.sh`

### Course Labs

- [Lab collection](https://github.com/kgopi1/opentelemetry-labs/blob/main/README.md): `README.md`
- [Basics lesson](https://github.com/kgopi1/opentelemetry-labs/blob/main/day1/basics.md): `day1/basics.md`
- [Collector lesson](https://github.com/kgopi1/opentelemetry-labs/blob/main/day2/collector.md): `day2/collector.md`
- [Collector config](https://github.com/kgopi1/opentelemetry-labs/blob/main/day2/config.yaml): `day2/config.yaml`
- [Day three lab](https://github.com/kgopi1/opentelemetry-labs/blob/main/day3/day3.txt): `day3/day3.txt`
- [Day four lab](https://github.com/kgopi1/opentelemetry-labs/blob/main/day4/day4.txt): `day4/day4.txt`
- [Node.js basics](https://github.com/kgopi1/opentelemetry-labs/blob/main/node-js-basics.txt): `node-js-basics.txt`

### Observability Operations

- [Prometheus day zero](https://github.com/kgopi1/opentelemetry-labs/blob/main/promethus/day0.txt): `promethus/day0.txt`
- [Prometheus day one](https://github.com/kgopi1/opentelemetry-labs/blob/main/promethus/day1.txt): `promethus/day1.txt`
- [Jaeger setup](https://github.com/kgopi1/opentelemetry-labs/blob/main/jaegar.sh): `jaegar.sh`
- [Troubleshooting](https://github.com/kgopi1/opentelemetry-labs/blob/main/troubleshooting.txt): `troubleshooting.txt`

### Other components

- **Course participant**

## Connections

- Lab collection → Course participant: supports course (evidence: `README.md`)
