Skip to content

Commit cc4d8ab

Browse files
committed
fix(migrate-from-honeycomb): address review comments
1 parent 572e0a4 commit cc4d8ab

File tree

4 files changed

+72
-388
lines changed

4 files changed

+72
-388
lines changed

data/docs/migration/migrate-from-honeycomb-to-signoz.mdx

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,23 +37,10 @@ If you're still using Honeycomb's legacy SDKs, follow this approach:
3737

3838
2. **Then**: Follow the OpenTelemetry endpoint configuration steps in this guide
3939

40-
## Honeycomb vs SigNoz Feature Mapping
41-
42-
| Honeycomb Feature | SigNoz Equivalent | Migration Notes |
43-
|------------------|-------------------|-----------------|
44-
| Derived Columns | PromQL Queries | Convert aggregations to PromQL expressions |
45-
| Custom Metrics | OTLP Metrics + Prometheus | Use OpenTelemetry SDKs or Prometheus format |
46-
| SLOs | Alert Rules | Convert to PromQL-based alert conditions |
47-
| Triggers | Alert Manager | Configure notification channels and rules |
48-
| Heatmaps | Histogram Metrics | Use histogram_quantile() functions |
49-
| Rate Calculations | rate() function | Built-in PromQL rate calculations |
50-
5140
## Migration Guides
5241

5342
Please refer to the following guides for step-by-step instructions on migrating each component from Honeycomb to SigNoz:
5443

55-
- [Migrating Data](/docs/migration/migrate-from-honeycomb/data) - Configure traces, logs, metrics flow and data correlation
56-
- [Migrating Metrics](/docs/migration/migrate-from-honeycomb/metrics) - Transfer custom metrics, derived columns, and SLOs
57-
- [Migrating Dashboards](/docs/migration/migrate-from-honeycomb/dashboards) - Recreate boards and queries with enhanced visualizations
58-
- [Migrating Alerts](/docs/migration/migrate-from-honeycomb/alerts) - Convert triggers to alert rules with notification channels
59-
44+
- **[Migrating Data](/docs/migration/migrate-from-honeycomb/data)** - Configure traces, logs, and metrics flow with unified data correlation and additional metrics sources
45+
- **[Migrating Dashboards](/docs/migration/migrate-from-honeycomb/dashboards)** - Recreate boards and queries with enhanced visualizations
46+
- **[Migrating Alerts](/docs/migration/migrate-from-honeycomb/alerts)** - Convert triggers to alert rules with notification channels

data/docs/migration/migrate-from-honeycomb/dashboards.mdx

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: Migrate Dashboard from Honeycomb to SigNoz
55
description: Learn how to migrate Honeycomb dashboards and queries to SigNoz with comprehensive query translation patterns.
66
---
77

8-
Since both platforms are now OpenTelemetry-native, the migration primarily focuses on translating Honeycomb's
8+
Since both platforms are now OpenTelemetry-native, the migration primarily focuses on translating Honeycomb's
99
proprietary query syntax to PromQL and ClickHouse SQL, while leveraging SigNoz's enhanced visualization and querying capabilities.
1010

1111
## SigNoz Dashboard Templates
@@ -57,15 +57,14 @@ Please refer to the [Panel Types](https://signoz.io/docs/dashboards/panel-types/
5757

5858
SigNoz supports essential dashboard features including:
5959

60-
**Variables**: Create template variables for dynamic dashboards
61-
**Query Builder**: [The Query Builder](https://signoz.io/docs/userguide/query-builder-v5/) is SigNoz's structured query interface that combines the power of expression-based querying with intelligent auto-completion
62-
**Filters**: Apply filters across panels and data sources
63-
**Sharing**: Share dashboards with team members and external users
64-
**Time Controls**: Flexible time range selection and auto-refresh
60+
**Variables**: Create template variables for dynamic dashboards
61+
**Query Builder**: [The Query Builder](https://signoz.io/docs/userguide/query-builder-v5/) is SigNoz's structured query interface that combines the power of expression-based querying with intelligent auto-completion
62+
**Filters**: Apply filters across panels and data sources
63+
**Sharing**: Share dashboards with team members and external users
64+
**Time Controls**: Flexible time range selection and auto-refresh
6565

6666
For detailed dashboard management, refer to the [Manage Dashboards](https://signoz.io/docs/userguide/manage-dashboards/) documentation.
6767

68-
6968
## Honeycomb to SigNoz Functionality Mapping
7069

7170
### Basic Query Translation
@@ -83,13 +82,11 @@ Honeycomb uses proprietary query syntax while SigNoz uses standard PromQL for me
8382

8483
Each Honeycomb query needs to be rewritten for SigNoz using PromQL or ClickHouse SQL syntax, with appropriate field names and aggregation functions.
8584

86-
8785
Migrating dashboards from Honeycomb to SigNoz involves translating proprietary query syntax to standard PromQL and ClickHouse SQL. SigNoz's extensive template library, enhanced panel types, and unified observability approach provide significant advantages over Honeycomb's board-based system, enabling better visualization and correlation across metrics, logs, and traces.
8886

89-
9087
## Next Steps
9188

9289
With your dashboards successfully migrated from Honeycomb to SigNoz:
9390

9491
1. **[Migrate Alerts](/docs/migration/migrate-from-honeycomb/alerts/)** - Convert Honeycomb triggers and SLOs to SigNoz alert rules for your dashboard metrics
95-
2. **Optimize dashboards** - Explore [advanced Query Builder features](https://signoz.io/docs/userguide/query-builder-v5/) and [dashboard management](https://signoz.io/docs/userguide/manage-dashboards/) for enhanced team collaboration
92+
2. **Optimize dashboards** - Explore [advanced Query Builder features](https://signoz.io/docs/userguide/query-builder-v5/) and [dashboard management](https://signoz.io/docs/userguide/manage-dashboards/) for enhanced team collaboration

data/docs/migration/migrate-from-honeycomb/data.mdx

Lines changed: 62 additions & 154 deletions
Original file line numberDiff line numberDiff line change
@@ -68,139 +68,72 @@ Since both Honeycomb and SigNoz use OpenTelemetry, migrating your data involves
6868

6969
This guide covers the data aspects of migration - configuring trace correlation, formatting logs properly, understanding retention differences, and verifying that traces, logs, and metrics are all flowing correctly to SigNoz.
7070

71-
## Traces Migration
71+
## Configure Signal Correlation
7272

73-
### Honeycomb Events to OpenTelemetry Spans
74-
75-
Honeycomb represents traces as events with span relationships, while SigNoz uses standard OpenTelemetry spans with full distributed tracing support.
76-
77-
### Trace Configuration Examples
78-
79-
**Java Applications:**
80-
```java
81-
// OpenTelemetry Java auto-instrumentation
82-
// Add to JVM arguments:
83-
-javaagent:path/to/opentelemetry-javaagent.jar
84-
-Dotel.exporter.otlp.endpoint=https://ingest.{region}.signoz.cloud:443
85-
-Dotel.exporter.otlp.headers=signoz-access-token=YOUR_KEY
86-
-Dotel.service.name=your-service-name
87-
```
88-
89-
**Node.js Applications:**
90-
```javascript
91-
// OpenTelemetry Node.js setup
92-
const { NodeSDK } = require('@opentelemetry/sdk-node');
93-
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
94-
95-
const sdk = new NodeSDK({
96-
instrumentations: [getNodeAutoInstrumentations()],
97-
serviceName: 'your-service-name',
98-
});
99-
100-
sdk.start();
101-
```
73+
SigNoz automatically correlates logs with traces when both contain matching trace and span IDs, providing enhanced debugging capabilities beyond Honeycomb's event-based approach.
10274

103-
**Python Applications:**
104-
```python
105-
# OpenTelemetry Python auto-instrumentation
106-
# Install: pip install opentelemetry-distro opentelemetry-exporter-otlp
107-
# Run with:
108-
opentelemetry-bootstrap -a install
109-
opentelemetry-instrument \
110-
--exporter_otlp_endpoint=https://ingest.{region}.signoz.cloud:443 \
111-
--exporter_otlp_headers=signoz-access-token=YOUR_KEY \
112-
--service_name=your-service-name \
113-
python your_app.py
75+
**For automatic correlation**, use OpenTelemetry SDKs which automatically inject trace context into logs. **For manual configuration** when using file-based logs or custom setups, ensure your logging libraries include trace_id and span_id fields in the log output.
76+
77+
Once configured, you'll be able to jump from traces to logs directly in the SigNoz interface for enhanced debugging.
78+
79+
## Configure Additional Metrics Sources
80+
81+
After completing the basic OpenTelemetry endpoint migration, you may need to configure additional metrics collection methods to capture all your Honeycomb metrics in SigNoz.
82+
83+
SigNoz supports multiple metrics ingestion methods:
84+
- **OTLP Metrics**: Direct from OpenTelemetry SDKs (primary method)
85+
- **Prometheus Receiver**: For existing Prometheus metrics endpoints
86+
- **Custom Metrics**: Application-specific business metrics
87+
88+
### Enable Prometheus Receiver
89+
90+
Enable the Prometheus receiver in your SigNoz OpenTelemetry Collector configuration to scrape existing Prometheus metrics:
91+
92+
```yaml
93+
# otel-collector-config.yaml
94+
receivers:
95+
prometheus:
96+
config:
97+
global:
98+
scrape_interval: 15s
99+
evaluation_interval: 15s
100+
scrape_configs:
101+
- job_name: 'my-application'
102+
static_configs:
103+
- targets: ['localhost:8080']
104+
metrics_path: '/metrics'
105+
scrape_interval: 30s
106+
107+
processors:
108+
batch:
109+
110+
exporters:
111+
otlp:
112+
endpoint: "ingest.{region}.signoz.cloud:443" # For SigNoz Cloud
113+
headers:
114+
"signoz-ingestion-key": "${SIGNOZ_INGESTION_KEY}"
115+
116+
service:
117+
pipelines:
118+
metrics:
119+
receivers: [prometheus]
120+
processors: [batch]
121+
exporters: [otlp]
114122
```
115123
116-
## Logs Migration
117-
118-
### Structured Logs with Trace Correlation
119-
120-
SigNoz automatically correlates logs with traces when both contain matching trace and span IDs, providing enhanced debugging capabilities beyond Honeycomb's event-based approach.
124+
For detailed Prometheus receiver setup, follow the [Prometheus Receiver configuration guide](https://signoz.io/docs/userguide/send-metrics/#enable-a-prometheus-receiver).
121125
122-
### Log Configuration Examples
123-
124-
To enable automatic log-to-trace correlation in SigNoz, configure your logging libraries to include trace_id and span_id fields in log output:
125-
126-
**Application Logs with Trace Correlation:**
127-
128-
**Java (Logback):**
129-
```xml
130-
<!-- logback-spring.xml -->
131-
<configuration>
132-
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
133-
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
134-
<providers>
135-
<pattern>
136-
<pattern>
137-
{
138-
"timestamp": "%d{yyyy-MM-dd HH:mm:ss.SSS}",
139-
"level": "%level",
140-
"thread": "%thread",
141-
"logger": "%logger{40}",
142-
"message": "%message",
143-
"trace_id": "%X{trace_id:-}",
144-
"span_id": "%X{span_id:-}"
145-
}
146-
</pattern>
147-
</pattern>
148-
</providers>
149-
</encoder>
150-
</appender>
151-
<root level="INFO">
152-
<appender-ref ref="STDOUT"/>
153-
</root>
154-
</configuration>
155-
```
126+
### Configure OTLP Metrics
156127
157-
**Node.js (Winston):**
158-
```javascript
159-
const winston = require('winston');
160-
const { trace } = require('@opentelemetry/api');
161-
162-
const logger = winston.createLogger({
163-
format: winston.format.combine(
164-
winston.format.timestamp(),
165-
winston.format.json(),
166-
winston.format.printf((info) => {
167-
const span = trace.getActiveSpan();
168-
if (span) {
169-
const spanContext = span.spanContext();
170-
info.trace_id = spanContext.traceId;
171-
info.span_id = spanContext.spanId;
172-
}
173-
return JSON.stringify(info);
174-
})
175-
),
176-
transports: [new winston.transports.Console()]
177-
});
178-
```
128+
If your applications use OpenTelemetry SDKs, ensure metrics are enabled:
179129
180-
**Python (structlog):**
181-
```python
182-
import structlog
183-
from opentelemetry import trace
184-
185-
def add_trace_info(logger, method_name, event_dict):
186-
span = trace.get_current_span()
187-
if span:
188-
span_context = span.get_span_context()
189-
event_dict["trace_id"] = format(span_context.trace_id, "032x")
190-
event_dict["span_id"] = format(span_context.span_id, "016x")
191-
return event_dict
192-
193-
structlog.configure(
194-
processors=[
195-
add_trace_info,
196-
structlog.processors.JSONRenderer()
197-
]
198-
)
130+
**Environment Variables:**
131+
```bash
132+
export OTEL_METRICS_EXPORTER=otlp
133+
export OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=https://ingest.{region}.signoz.cloud:443/v1/metrics
134+
export OTEL_EXPORTER_OTLP_HEADERS="signoz-ingestion-key=${SIGNOZ_INGESTION_KEY}"
199135
```
200136

201-
### Centralized Log Collection
202-
203-
For advanced centralized log collection using OpenTelemetry Collector, see the [SigNoz logs ingestion documentation](https://signoz.io/docs/userguide/logs/).
204137

205138
## Data Retention and Historical Considerations
206139

@@ -222,42 +155,17 @@ While both platforms use OpenTelemetry for data ingestion, they store data in di
222155
| Platform | Retention Options | Cost Model |
223156
|----------|-------------------|------------|
224157
| **Honeycomb** | Plan-based limits (14-90 days typical) | Per-event pricing |
225-
| **SigNoz Cloud** | Configurable retention (7-90 days) | Predictable monthly pricing |
158+
| **SigNoz Cloud** | **Traces/Logs**: 15, 30, 90, 180 days<br/>**Metrics**: 1, 3, 6, 13 months<br/>| Predictable monthly pricing |
226159
| **Self-hosted SigNoz** | Unlimited (storage-dependent) | Infrastructure costs only |
227160

228-
SigNoz offers more flexible retention options, especially with self-hosted deployments where retention is limited only by your storage capacity. This can provide significant cost advantages for organizations requiring longer data retention periods. Honeycomb's per-event pricing model can become expensive with high-volume applications, while SigNoz Cloud provides predictable monthly costs regardless of event volume. For maximum cost control and unlimited retention, self-hosted SigNoz allows you to scale storage based on your infrastructure budget rather than vendor-imposed limits.
229-
230-
## Verify Unified Data Flow
231-
232-
After completing your data migration configuration, verify that all telemetry signals are flowing correctly to SigNoz and correlating properly.
233-
234-
235-
### Check Signal Flow
236-
237-
**Verify each telemetry type in SigNoz:**
238-
239-
1. **Traces**: Navigate to **Services** tab and confirm your applications appear with recent traces
240-
2. **Logs**: Check **Logs** tab for properly formatted application logs with trace_id and span_id fields
241-
3. **Metrics**: Open **Metrics** tab to verify application and infrastructure metrics are appearing
242-
4. **Correlation**: Test that traces link to related logs and metrics for unified debugging
243-
244-
### Validate Data Accuracy
245-
246-
During parallel operation, compare data consistency between platforms:
247-
248-
**Key validation checks:**
249-
- **Request volumes**: Verify similar trace and log counts between Honeycomb and SigNoz
250-
- **Latency metrics**: Compare percentile values (p95, p99) for consistency
251-
- **Error rates**: Ensure error percentages match between platforms
252-
- **Custom metrics**: Validate business metrics show similar values
161+
SigNoz offers more flexible retention options, especially with self-hosted deployments where retention is limited only by your storage capacity. This can provide significant cost advantages for organizations requiring longer data retention periods.
253162

254-
If discrepancies appear, review your OpenTelemetry configuration and ensure all applications are sending complete telemetry data to SigNoz.
163+
**Cost Planning**: Use the [SigNoz pricing calculator](https://signoz.io/pricing/#estimate-your-monthly-bill) to estimate your monthly costs based on your expected data volume and retention needs.
255164

256165

257166
## Next Steps
258167

259168
With your data migration complete, continue with the remaining migration components:
260169

261-
1. **[Migrate Metrics](/docs/migration/migrate-from-honeycomb/metrics/)** - Configure custom metrics, derived columns, and additional metrics sources
262-
2. **[Migrate Dashboards](/docs/migration/migrate-from-honeycomb/dashboards/)** - Recreate Honeycomb boards with enhanced SigNoz visualizations
263-
3. **[Migrate Alerts](/docs/migration/migrate-from-honeycomb/alerts/)** - Convert triggers to SigNoz alert rules with multi-signal correlation
170+
1. **[Migrate Dashboards](/docs/migration/migrate-from-honeycomb/dashboards/)** - Recreate Honeycomb boards with enhanced SigNoz visualizations
171+
2. **[Migrate Alerts](/docs/migration/migrate-from-honeycomb/alerts/)** - Convert triggers to SigNoz alert rules with multi-signal correlation

0 commit comments

Comments
 (0)