Traces Overview
Understanding and utilizing traces in Metoro
Traces are a powerful tool to understand the flow of requests through your services. Metoro provides a centralized location to view and query traces with zero configuration required. Traces are automatically generated for all your services, including third party services through eBPF.
How Tracing Works in Metoro
Metoro uses eBPF technology at its core to provide comprehensive tracing capabilities. The Metoro node agent runs on every host in your cluster and monitors all network calls, deserializing them to inspect the underlying protocols and create traces. This means that you don’t need to instrument your code to get tracing data. You can just start using Metoro and get traces for all your services, including third party services.
Supported Protocols
Metoro currently supports tracing for the following protocols:
- HTTP(s)
- gRPC
- Postgres
- MySQL
- Redis
- Memcache
- MongoDB
- Kafka
- Cassandra
Every request made using these protocols from any container in your cluster is automatically recorded and sent to Metoro’s observability backend for inspection.
HTTPs Support
Metoro supports HTTPS tracing through eBPF instrumentation of SSL libraries (like OpenSSL and BoringSSL) within the binary itself. When calls to read or write TLS are made, Metoro inspects the unencrypted content at the kernel level, without modifying any application code.
Trace Attributes
Each trace is enriched with various attributes depending on the protocol. Common attributes across all protocols include:
- Client namespace
- Server namespace
- Client container ID
- Server container ID
- Client availability zone
- Server availability zone
- Server service name
- Client service name
Protocol-specific attributes are also captured. For example, HTTP traces include:
- HTTP path
- HTTP status code
- HTTP URL
- HTTP host
- HTTP flavor
- Request duration
For database protocols, Metoro decodes and records the actual queries, providing visibility into every database operation.
Trace Redaction
Metoro provides comprehensive trace redaction capabilities to protect sensitive information in your traces. For detailed information about configuring and managing trace redaction, see the Trace Redaction documentation.
The Trace View
The trace view provides a powerful interface to explore and analyze your traces across all clusters. You can filter traces using:
- Any trace attribute
- Regex search patterns
- Time-based filtering
Service Map Generation
Metoro automatically generates service maps based on the traced communications between services. This provides a visual representation of how your services interact with each other, making it easier to understand your application’s architecture and dependencies.
Bring Your Own Tracing (OpenTelemetry)
eBPF tracing is a powerful tool, but it does have some limitations, it does not support all protocols and does not currently support distributed tracing (ebpf creates individual spans but is unable to track chains of request calls currently). If you are already using OpenTelemetry, you can send your traces to Metoro by configuring the OpenTelemetry Collector to send traces to Metoro. The Metoro exporter is a fully compliant opentelemetry collector, so you can send your traces to Metoro to be queried and visualized. Follow the guide at OpenTelemetry Tracing Integration
RED Metrics Generation
The trace data is used to generate various RED Metrics (Rate, Errors, Duration), including:
- Request metrics
- Error metrics
- Duration metrics
These metrics are available in the Service View or in Custom Dashboards and provide valuable insights into your application’s performance and behavior.
Learn More About Services
Discover how Metoro organizes and visualizes your service data
Was this page helpful?