Skip to content

Guidance needed on contributing OTel for Beginners series content #7

Description

@LisaHJung

I'd like to contribute the OpenTelemetry for Beginners - The JavaScript Journey series repo.

This is a hands-on learning series that accompanies the YouTube video series.

The series follows a repeatable pattern across all three signals:

Signal: Barebones Setup | Add Processors
Traces: Ready | Ready
Metrics: In progress | In progress
Logs: Planned | Planned

Each signal will have two branches:

  1. Bare bones setup: Instrument the app, send telemetry to the Collector, export to a backend (no processing)
  2. Add processors: Same setup + Collector processors to transform data before export

This structure allows learners to first understand the baseline telemetry flow, then layer on processing concepts, repeated consistently across traces, metrics, and logs.

Current Contribution: Traces

I'm starting with traces, which includes two branches:

1. traces-bare-bones-setup

  • A simple Node.js "Roll the Dice" Express app
  • Basic auto-instrumentation using @opentelemetry/auto-instrumentations-node
  • Minimal OTel Collector config (OTLP receiver and Jaeger exporter)
  • Docker Compose setup for Collector and Jaeger

2. traces-add-processors

  • Same app and instrumentation as above
  • Introduces Collector processors to transform traces:
    • resource processor (add/remove resource attributes)
    • attributes processor (remove sensitive span attributes)
    • batch processor (efficient export)

Preview

You can preview the complete code and README in my working repository.

Branches available:

Questions for Maintainers

Before I submit PRs, I'd like to confirm the preferred approach:

  1. Branch strategy: Should these be standalone branches in the repo, or should the content live in a subfolder on main (e.g., javascript/traces/)?

  2. PR structure: Should I submit one PR per branch, or a single PR with both?

  3. Naming convention: Are the branch names traces-bare-bones-setup and traces-add-processors appropriate, or is there a preferred naming scheme?

Unless suggested otherwise, I am planning on calling to future branches metrics-bare-bones-setup, metrics-add-processors,logs-bare-bones-setup, and logs-add-processors.

For your reference

I am happy to adjust based on feedback. Thanks for your time!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions