Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.honeycomb.io/llms.txt

Use this file to discover all available pages before exploring further.

What does Honeycomb actually do with your telemetry data? Most of Honeycomb is built around a single foundational concept: the event. Understanding how events, datasets, environments, and teams relate to each other helps you instrument your systems effectively and get the most out of Honeycomb’s query capabilities.

Events

An event is a structured record of a single unit of work. It captures what happened, when it happened, how long it took, and any contextual information you choose to include, such as user IDs, feature flags, error messages, build IDs, and environment names. Events are blobs of JSON sent over HTTP. Every field in an event is labeled and indexed automatically, which means Honeycomb can filter, group, and aggregate on any field without knowing about it in advance. You don’t need to define your schema ahead of time or decide which fields to index before you know what questions you want to ask. Fields appear in the Query Builder as soon as they arrive. Here is an example event from an internal Honeycomb dataset:
{
  "name": "bucketRequest",
  "service.name": "retriever",
  "duration_ms": 0.011668,
  "trace.trace_id": "845a4de7-8e3a-4605-8476-6aa1592c3134",
  "trace.span_id": "84c82b34145c22f9",
  "trace.parent_id": "ab0e166fbbea7dc6",
  "global.env": "production",
  "global.instance_type": "m6gd.2xlarge",
  "app.query-source": "trigger-cron"
}
Every field is available for querying. You can group by global.instance_type, filter by app.query-source, compute a P95 on duration_ms, or identify outliers across all fields simultaneously with BubbleUp, all without defining those queries in advance. Honeycomb stores raw, high-cardinality events and lets you ask any question at query time.

Traces, metrics, and logs

Traces, metrics, and logs are all stored as events in Honeycomb. The difference is in how they are structured and what Honeycomb does with them.
  • Traces are collections of events (spans) that share a trace.trace_id. Each span describes one unit of work in a distributed system. Honeycomb uses the parent-child relationships between spans, expressed via trace.parent_id and trace.span_id, to render a trace waterfall view. A dataset is identified as a trace dataset when it contains a trace.trace_id field (along with at least one trace.span_id and a duration_ms).
  • Metrics are events that represent measurements taken at a point in time, such as CPU usage, request rates, and error counts. Metrics events tend to have many numeric fields and arrive at regular intervals. Honeycomb queries metrics the same way it queries trace data, and can correlate the two in the same view.
  • Logs are events that represent discrete occurrences, such as errors, state changes, and user actions. A structured log maps naturally to a Honeycomb event because its fields translate directly to event fields. Unstructured logs can be parsed into structured events before sending.

Datasets

A dataset is a collection of related events. Honeycomb creates a dataset automatically when you first send data, using your service name as the dataset name. All events in a dataset share the same schema, which is the set of fields Honeycomb has seen across all events sent to that dataset.

Environments

An environment groups datasets that you expect to analyze together. Environments typically separate data by deployment stage, such as Production, Staging, Development, or by regulatory boundary. Honeycomb queries run within a single environment, by design. That boundary keeps production data from mixing with staging data, and prevents the kind of accidental cross-environment analysis that tends to produce misleading results.

Teams

A team is the top-level organizational unit in Honeycomb. It represents your organization and contains all of your environments, datasets, and members. When you first sign up for Honeycomb, you create a team, typically named after your company or organization. Team members have roles that control what each person can do. To learn about available roles, visit Manage team permissions. API keys belong to environments within a team. The API key you use to send data to Honeycomb determines which team and environment receives it.