Skip to content

OTCA - OpenTelemetry Certified Associate

Multiple-choice exam | 90 minutes | Passing score: 75% | $250 USD | CNCF Certification

The OTCA (OpenTelemetry Certified Associate) validates your understanding of OpenTelemetry concepts, architecture, and the OTel ecosystem. Unlike CKA/CKS, this is a knowledge-based exam — multiple-choice questions, not hands-on tasks. But don’t let that fool you: Domain 2 (API & SDK) is 46% of the exam and requires deep understanding of TracerProviders, MeterProviders, span processors, sampling strategies, and context propagation internals.

KubeDojo covers ~90% of OTCA topics through existing observability modules plus two dedicated OTCA modules covering SDK pipeline internals and advanced Collector configuration.

OpenTelemetry is the second most active CNCF project after Kubernetes. If you work with observability in any capacity, OTCA validates the skill that matters most: understanding the universal telemetry standard.


These modules cover the areas between KubeDojo’s existing observability modules and the OTCA exam requirements:

#ModuleTopicDomains Covered
1OTel SDK Deep DiveTracerProvider, MeterProvider, span processors, sampling, context propagationDomain 2 (46%)
2OTel Collector AdvancedCollector pipelines, deployment patterns, connectors, distributionsDomain 3 (26%)

DomainWeightKubeDojo Coverage
Fundamentals of Observability18%Excellent (4 foundation modules)
OTel API and SDK46%Excellent (OTel SDK Deep Dive + overview module)
OTel Collector26%Excellent (OTel Collector Advanced + overview module)
Ecosystem10%Good (covered across multiple modules)

Domain 1: Fundamentals of Observability (18%)

Section titled “Domain 1: Fundamentals of Observability (18%)”
  • Understanding the three pillars of observability (metrics, logs, traces)
  • Applying semantic conventions for consistent telemetry
  • Distinguishing instrumentation approaches (auto vs. manual)
  • Understanding signals and their relationships

Theory (start here):

ModuleTopicRelevance
Observability 3.1What is Observability? Observability vs. monitoringDirect
Observability 3.2Metrics, Logs, Traces — the three pillarsDirect
Observability 3.3Instrumentation principles: auto vs. manual, what to measureDirect
Observability 3.4From data to insightPartial

Tools (context):

ModuleTopicRelevance
OpenTelemetryOTel architecture overview, signals, auto-instrumentationDirect
TracingDistributed tracing concepts, Jaeger/TempoDirect
PrometheusMetrics fundamentals, metric types, PromQLPartial

This is the exam. Nearly half your score comes from this domain. You need to understand the SDK pipeline architecture at a level deeper than “it collects telemetry.”

  • Understanding the OTel data model (traces, metrics, logs, baggage)
  • Configuring TracerProvider, MeterProvider, and LoggerProvider
  • Understanding span processors (Simple vs. Batch) and their trade-offs
  • Implementing sampling strategies (AlwaysOn, AlwaysOff, TraceIdRatio, ParentBased)
  • Working with context propagation (W3C TraceContext, B3, Baggage)
  • Understanding metric instruments (Counter, Histogram, Gauge, UpDownCounter)
  • Configuring exporters and SDK pipelines
  • Using the OTel agent for auto-instrumentation

Existing coverage:

ModuleTopicRelevance
OpenTelemetryOTel SDK overview, auto-instrumentation basicsPartial
TracingSpans, trace context, propagation basicsPartial
Observability 3.3Instrumentation theory and principlesPartial
OTel SDK Deep DiveTracerProvider, MeterProvider, span processors, sampling, context propagation, metric instrumentsDirect

All of the following are covered in the OTel SDK Deep Dive:

  • TracerProvider pipeline: TracerProvider -> SpanProcessor -> SpanExporter — how spans flow from creation to export
  • MeterProvider pipeline: MeterProvider -> MetricReader -> MetricExporter — push vs. pull metric export
  • LoggerProvider pipeline: LoggerProvider -> LogRecordProcessor -> LogRecordExporter
  • Span processors: SimpleSpanProcessor (sync, for debugging) vs. BatchSpanProcessor (async, for production) — know the trade-offs cold
  • Sampling strategies: AlwaysOnSampler, AlwaysOffSampler, TraceIdRatioBasedSampler, ParentBasedSampler, head vs. tail sampling
  • Context propagation internals: TextMapPropagator, TextMapGetter/Setter, injection/extraction, composite propagators
  • Metric instruments in detail: Synchronous (Counter, UpDownCounter, Histogram) and Asynchronous (ObservableCounter, ObservableGauge, ObservableUpDownCounter), aggregation temporality
  • Exemplars: Linking metrics to trace samples
  • Baggage: Cross-cutting concerns propagated through context (not telemetry data itself)
  • SDK configuration: Environment variables (OTEL_SERVICE_NAME, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_TRACES_SAMPLER), programmatic vs. file-based config

  • Understanding Collector architecture and deployment patterns
  • Configuring receivers, processors, and exporters
  • Building pipelines for traces, metrics, and logs
  • Deploying Collector as agent (DaemonSet) vs. gateway (Deployment)
  • Understanding Collector distributions (core vs. contrib)

Existing coverage:

ModuleTopicRelevance
OpenTelemetryCollector overview, receiver/processor/exporter basicsPartial
PrometheusPrometheus receiver/exporter contextPartial
TracingTrace pipeline conceptsPartial
OTel Collector AdvancedPipeline configuration, deployment patterns, connectors, distributions, processorsDirect

All of the following are covered in the OTel Collector Advanced:

  • Collector configuration deep dive: Full pipeline YAML (receivers, processors, exporters, service.pipelines)
  • Deployment patterns: Agent (sidecar/DaemonSet) vs. Gateway (Deployment) — when to use each
  • Collector distributions: otelcol (core) vs. otelcol-contrib (200+ components) vs. custom builds with ocb (OpenTelemetry Collector Builder)
  • Key processors: batch, memory_limiter, filter, attributes, resource, tail_sampling, transform
  • Connector component: Connects two pipelines (e.g., spanmetrics connector generates RED metrics from traces)
  • OTLP protocol: gRPC and HTTP/protobuf transports
  • OTel Operator for Kubernetes: Auto-instrumentation injection, Collector CRD management
  • Health and observability: Collector’s own metrics, zpages extension, health check extension

  • Understanding OpenTelemetry project status and maturity levels
  • Knowing signal stability (traces = stable, metrics = stable, logs = stable, profiling = development)
  • Understanding OTLP (OpenTelemetry Protocol) and its role
  • Knowing the relationship between OTel and CNCF
  • Understanding backend integrations and vendor neutrality
ModuleTopicRelevance
OpenTelemetryOTel project overview, CNCF status, architectureDirect
Observability 3.1Observability landscape and evolutionPartial
PrometheusPrometheus as OTel metrics backendPartial
TracingJaeger/Tempo as OTel trace backendsPartial
Continuous ProfilingProfiling signal (newest addition)Partial
  • OTLP protocol details — Covered in OTel Collector Advanced (gRPC, HTTP/protobuf transports, OTLP/JSON)
  • OpenTelemetry Operator for Kubernetes — Covered in OTel Collector Advanced (auto-instrumentation injection, Collector CRD)
  • Signal maturity model — Supplement with the OTel status page; traces/metrics/logs = stable, profiling = development
  • Community structure — SIGs, language SIGs, Collector SIG, specification process; review OTel community docs
  • Compatibility guarantees — What “stable” means for API vs. SDK vs. Collector components; review OTel versioning spec

OTCA PREPARATION PATH (recommended order)
══════════════════════════════════════════════════════════════
Week 1: Observability Foundations (Domain 1 — 18%)
├── Observability Theory 3.1-3.4 (existing KubeDojo modules)
├── Review semantic conventions: https://opentelemetry.io/docs/specs/semconv/
└── Understand signal types and their relationships
Week 2-3: OTel API and SDK (Domain 2 — 46%!)
├── OTel module 1.2 (existing KubeDojo overview)
├── OTel docs: https://opentelemetry.io/docs/concepts/
├── Study TracerProvider/MeterProvider/LoggerProvider pipelines
├── Practice: instrument a simple app in your preferred language
├── Deep dive: sampling strategies (ParentBased wrapping TraceIdRatio)
├── Deep dive: context propagation (W3C TraceContext headers)
└── Memorize: environment variable configuration options
Week 4: OTel Collector (Domain 3 — 26%)
├── Deploy a Collector locally (Docker or K8s)
├── Build pipelines: receivers -> processors -> exporters
├── Practice: agent vs. gateway deployment patterns
├── Configure: batch, memory_limiter, filter processors
├── Know: core vs. contrib distributions, ocb builder
└── Study the connector component (spanmetrics, count)
Week 5: Ecosystem + Review (Domain 4 — 10%)
├── Read OTel project status pages
├── Understand OTLP protocol (gRPC + HTTP transports)
├── Review OpenTelemetry Operator for Kubernetes
├── Practice exam questions (see resources below)
└── Final review: focus 60% of time on Domain 2 + Domain 3

  • Domain 2 is nearly half the exam — you cannot pass without solid SDK knowledge. Understand the provider/processor/exporter pipeline pattern for all three signal types.
  • Know the configuration — environment variables like OTEL_SERVICE_NAME, OTEL_TRACES_SAMPLER, OTEL_EXPORTER_OTLP_ENDPOINT are heavily tested.
  • Understand sampling trade-offs — head sampling (SDK-side, cheaper) vs. tail sampling (Collector-side, more intelligent but requires all spans).
  • Collector config is YAML — know the structure: receivers, processors, exporters, connectors, extensions, service.pipelines.
  • Don’t confuse API and SDK — the API defines interfaces (safe for libraries), the SDK implements them (configured by applications). Libraries use the API; applications configure the SDK.
  • Baggage is NOT telemetry — it’s context propagation for application data, not observability data. This distinction is commonly tested.
  • Study the specification — the exam tests OTel concepts, not specific language implementations. Focus on the language-agnostic spec.

KubeDojo’s observability modules plus the two dedicated OTCA modules now provide comprehensive coverage across all four domains.

TopicStatusNotes
Three pillars / observability theoryCoveredExisting foundation modules 3.1-3.4
Semantic conventionsCoveredOTel SDK Deep Dive
TracerProvider / MeterProvider pipelinesCoveredOTel SDK Deep Dive
Span processors (Simple vs. Batch)CoveredOTel SDK Deep Dive
Sampling strategies (head vs. tail)CoveredOTel SDK Deep Dive
Context propagation internalsCoveredOTel SDK Deep Dive
Metric instruments (sync vs. async)CoveredOTel SDK Deep Dive
ExemplarsCoveredOTel SDK Deep Dive
Collector configuration deep diveCoveredOTel Collector Advanced
Collector deployment patternsCoveredOTel Collector Advanced
Collector connectorsCoveredOTel Collector Advanced
OTLP protocol detailsCoveredOTel Collector Advanced
OTel Operator for KubernetesCoveredOTel Collector Advanced
Signal maturity levelsMinor gapReview OTel status page for current signal maturity levels


CERTIFICATION PATH
══════════════════════════════════════════════════════════════
Observability Track:
├── KCNA (Cloud Native Associate) — includes observability basics
├── OTCA (OTel Certified Associate) ← YOU ARE HERE
└── Future: Advanced OTel certification (TBD)
Complementary Certifications:
├── CKA (K8s Administrator) — deploy/manage observability stacks
├── CNPE (Platform Engineer) — 20% observability & operations
└── Prometheus Certified Associate (PCA) — deep metrics expertise
Recommended Order:
KCNA → OTCA → PCA → CKA → CNPE

The OTCA pairs naturally with PCA (Prometheus Certified Associate) — together they cover the full metrics pipeline from instrumentation (OTel) through storage and querying (Prometheus/PromQL). If you’ve completed KubeDojo’s observability toolkit modules, you have a head start on both.