signoz-clickhouse-query
SKILL.md
Writing ClickHouse Queries for SigNoz Dashboards
When to Use
Use this skill when the user asks for SigNoz queries involving:
- Logs: severity, body text, log volume, structured fields, containers, services, or environments.
- Traces: spans, latency, duration, p95 or p99, HTTP operations, DB operations, or error spans.
- Dashboard panels: timeseries charts, value widgets, and table breakdowns.
If the user asks for a dashboard panel but does not mention ClickHouse, still use this skill.
Signal Detection
Identify whether the request is about logs or traces.
- Logs: log lines, severity, body text, log volume, container logs, or structured log fields.
- Traces: spans, latency, duration, p99, trace analysis, HTTP operations, DB operations, or error spans.
If the request is ambiguous, ask the user to clarify.
Reference Routing
- Logs: read
references/clickhouse-logs-reference.mdbefore writing any query. - Traces: read
references/clickhouse-traces-reference.mdbefore writing any query.
Each reference covers table schemas, optimization patterns, attribute access syntax, dashboard templates, query examples, and a validation checklist.
Quick Reference
- Timeseries panel: return rows of
(ts, value)for a chart over time. - Value panel: return a single
valuefor a stat or counter widget. - Table panel: return labelled columns for a grouped breakdown.
Key Variables by Signal
Logs
- Timestamp type:
UInt64in nanoseconds. - Time filter:
$start_timestamp_nanoand$end_timestamp_nano. - Bucket filter:
$start_timestampand$end_timestamp. - Display conversion:
fromUnixTimestamp64Nano(timestamp). - Main table:
signoz_logs.distributed_logs_v2. - Resource table:
signoz_logs.distributed_logs_v2_resource.
Traces
- Timestamp type:
DateTime64(9). - Time filter:
$start_datetimeand$end_datetime. - Bucket filter:
$start_timestampand$end_timestamp. - Display conversion: use the timestamp directly.
- Main table:
signoz_traces.distributed_signoz_index_v3. - Resource table:
signoz_traces.distributed_traces_v3_resource.
Top Anti-Patterns
- Missing
ts_bucket_start BETWEEN $start_timestamp - 1800 AND $end_timestamp. - Using plain
INinstead ofGLOBAL INon the resource fingerprint subquery. - Adding a resource CTE when there is no resource attribute filter.
- Logs query with
$start_datetimeor$end_datetime. - Traces query with
$start_timestamp_nanoor$end_timestamp_nano. - Traces query with
resources_string['service.name']instead ofresource_string_service$$name.
Workflow
- Detect the signal: logs or traces.
- Read the matching reference file before writing the query.
- Pick the panel type: timeseries, value, or table.
- Build the query using the required patterns from the reference.
- Validate the result with the checklist in the reference.
Weekly Installs
8
Repository
signoz/agent-skillsGitHub Stars
3
First Seen
4 days ago
Security Audits
Installed on
opencode8
github-copilot8
codex8
kimi-cli8
gemini-cli8
amp8