Skip to content

Instrumentation Overview

Instrumentation enables your application to generate and send telemetry data (traces, metrics, and logs). OpenTelemetry provides two primary approaches: Zero-code and Manual.

1. Zero-code (Automatic) Instrumentation

This is the recommended starting point for most users. It allows you to gather telemetry without modifying your application's source code.

  • How it works: A language-specific agent or Kubernetes Operator injects observability into your application at runtime.
  • Benefits: Instant visibility into HTTP requests, database queries, and external API calls without code changes.
  • Best for: Java, Python, .NET, Node.js, PHP, and Go (via eBPF).

2. Code-based (Manual) Instrumentation

Manual instrumentation captures specific business logic or custom events that automatic tools cannot detect.

  • How it works: Use the OpenTelemetry API in your source code to create spans, record custom metrics, or add specific attributes to logs.
  • Benefits: High-precision data tailored to your business requirements.
  • Best for: Custom performance tracking and complex business workflows.

Supported Languages

OpenTelemetry supports 12+ languages. Select your language below to get started with instrumentation for FusionReactor Cloud.

Production-Ready (Stable)

These languages have stable implementations for traces, metrics, and logs:

Language Zero-Code Support Status Guide
C++ ✅ Stable View Guide
.NET ✅ Stable View Guide
Java ✅ Stable View Guide
PHP ✅ Stable View Guide
Python ✅ Stable View Guide

Stable for Traces & Metrics

These languages are stable but logs are still in development:

Language Zero-Code Support Status Guide
Erlang/Elixir ✅ Stable (T/M), 🚧 Beta (Logs) View Guide
Go ✅ Stable (T/M), 🚧 Beta (Logs) View Guide
Node.js ✅ Stable (T/M), 🚧 Beta (Logs) View Guide
Ruby ✅ Stable (T/M), 🚧 Beta (Logs) View Guide
Swift ✅ Stable (Traces), 🚧 Beta (M/L) View Guide

Beta & Experimental

These languages are under active development:

Language Zero-Code Support Status Guide
Kotlin 🚧 Beta View Guide
Rust 🚧 Beta View Guide

Status Legend

  • Stable: Production-ready with full support
  • 🚧 Beta: Feature-complete but may have breaking changes
  • T/M = Traces & Metrics only
  • M/L = Metrics & Logs only

Next step: Shipping your data

Once your application is instrumented, the next step is sending that data to FusionReactor Cloud.

Shipping Telemetry Overview →


After instrumenting your application, explore these topics:


Advanced Instrumentation Options

eBPF Instrumentation

Coming Soon

eBPF (Extended Berkeley Packet Filter) instrumentation provides kernel-level observability without code changes or agent installation. This feature is coming soon to FusionReactor Cloud.

eBPF enables:

  • Zero-overhead instrumentation at the kernel level
  • No application restarts required
  • Network and system-level telemetry

Check back for updates on eBPF support availability.

Kubernetes Operator

Coming Soon

The OpenTelemetry Operator for Kubernetes provides automated instrumentation injection for containerized workloads. This feature is coming soon to FusionReactor Cloud.

The Operator enables:

  • Automatic sidecar injection for telemetry collection
  • Simplified configuration via Kubernetes CRDs
  • Cluster-wide instrumentation management

Check back for updates on Kubernetes Operator support.

Code Examples Repository

Coming Soon

A comprehensive code examples repository with ready-to-run sample applications is currently being developed by our content team. Expected availability: Q2 2026.

The repository will include:

  • Complete example applications for all supported languages
  • Docker Compose configurations for local testing
  • Best practice implementations
  • Common integration patterns

In the meantime, each language guide includes basic examples to get you started.