OpenTelemetry를 보내고, SQL로 쿼리하십시오.
탐지 · sigiro
$ curl -sS -X POST localhost:9999/v1/query --data-binary \
"SELECT count(*) AS failed_spans FROM sigiro_spans
WHERE service_name = 'checkout' AND status_code = 2
AND timestamp > CURRENT_TIMESTAMP - INTERVAL '30 minutes'"
[{ "failed_spans": 246 }]
진단 · sigiro
$ curl -sS -X POST localhost:9999/v1/query --data-binary \
"SELECT span_name, count(*) AS failures FROM sigiro_spans
WHERE service_name = 'checkout' AND status_code = 2
AND timestamp > CURRENT_TIMESTAMP - INTERVAL '30 minutes'
GROUP BY span_name ORDER BY failures DESC LIMIT 5"
[{ "span_name": "POST /api/orders", "failures": 246 }]
수정 · 사용자의 에이전트
$ claude "checkout times out since 9f2c1ab"
read src/orders/upstream.ts
edit src/orders/upstream.ts +4 −1
test 42 passed
push fix: bound the orders upstream call at 5s
검증 · 사용자의 파이프라인, sigiro의 증거로
$ curl -sS -X POST localhost:9999/v1/query --data-binary \
"SELECT count(*) AS errors_last_5m FROM sigiro_spans
WHERE service_name = 'checkout' AND status_code = 2
AND timestamp > CURRENT_TIMESTAMP - INTERVAL '5 minutes'"
[{ "errors_last_5m": 0 }]
학습 · 사용자의 메모리
$ cat playbooks/checkout-upstream-timeout.md
## checkout · upstream timeout
observed 246 failed checkout spans in a 30-minute window
cause unbounded upstream call, shipped in 9f2c1ab
fix 5s deadline on the orders client
watch the same shape on any service calling orders
직접 설치하면 무료이며 sigiro는 저희에게 어떤 데이터도 보내지 않습니다. 가입하면 호스팅 베타를 쓰게 되고, 텔레메트리는 저희가 운영하는 서버에 저장됩니다.
사용 방법
네 단계. 연결하고, 질문하고, 상관관계를 보고, 파고듭니다.
OpenTelemetry 익스포터를 sigiro로 향하게 하고, SQL로 질문합니다. 아래의 각 단계는 셸 세션 하나입니다.
sigiro는 표준 포트에서 표준 OTLP를 사용합니다.
$ curl -fsSL https://sigiro.com/install | sh
installed ~/.local/bin/sigiro
$ sigiro serve &
[1] 41802
listening on 4317, 4318, 9999
$ export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
$ export OTEL_SERVICE_NAME=checkout
$ npm start &
[1] 41823
checkout listening on :3000
$ sigiro status
ready · OTLP 4317 and 4318 · service checkout · 18,402 spans in 5 min
$ curl -sS -X POST localhost:9999/v1/query --data-binary \
"SELECT span_name, count(*) AS calls FROM sigiro_spans
WHERE service_name = 'checkout'
AND timestamp > CURRENT_TIMESTAMP - INTERVAL '30 minutes'
GROUP BY span_name ORDER BY calls DESC LIMIT 5"
[
{ "span_name": "POST /api/orders", "calls": 1284 },
{ "span_name": "GET /api/cart", "calls": 342 }
]
$ cat models.sql
SELECT s.span_attributes ->> 'gen_ai.request.model' AS model,
count(DISTINCT s.span_id) AS calls, max(s.duration) AS slowest
FROM sigiro_spans s JOIN sigiro_logs l USING (trace_id)
WHERE s.service_name = 'checkout' AND l.severity_number >= 17
AND s.timestamp > now() - INTERVAL '30 minutes'
GROUP BY model ORDER BY slowest DESC
$ curl -sS -X POST localhost:9999/v1/query \
--data-binary "$(cat models.sql)"
MODEL CALLS SLOWEST
gpt-5.2-mini 246 30.0s
claude-haiku-4.6 31 2.1s
$ curl -sS -X POST localhost:9999/v1/query --data-binary \
"SELECT trace_id, duration, status_message FROM sigiro_spans
WHERE service_name = 'checkout' AND status_code = 2
AND timestamp > CURRENT_TIMESTAMP - INTERVAL '30 minutes'
ORDER BY timestamp DESC LIMIT 3"
[
{ "trace_id": "9f2c1ab4e77d", "duration": 30012,
"status_message": "context deadline exceeded" },
{ "trace_id": "3b81fe0a2c56", "duration": 30004,
"status_message": "context deadline exceeded" }
]Start
Installs a single binary to ~/.local/bin/sigiro. Reads the script first if you would rather: sigiro.com/install.
Paste into Claude Code, Codex, Cursor or any MCP-capable agent. It installs sigiro, starts it, and registers sigiro mcp as an MCP server.
탐색. 에이전트가 도움 없이 API 설명을 읽습니다.
공개 문서 하나가 모든 엔드포인트를 설명합니다.
[
"/v1/query",
"/v1/services",
"/v1/traces/{trace_id}"
]얻는 것
마이그레이션 불필요. sigiro는 이미 사용 중인 도구에 연결됩니다.
텔레메트리를 보내는 곳
- OpenTelemetry
- Node.js
- Python
- Go
- Java
- .NET
- Ruby
- Rust
- Claude Code
- Codex
- Vercel AI SDK
- LangChain
- Ollama
실행하는 곳
- Docker
- Kubernetes
- Fly.io
- Railway
- Render
- Cloudflare
결과를 읽는 곳
- Claude Code
- Cursor
- Codex
- SQL을 쓰는 모든 도구
- 다시 실행할 수 있는 답
- 모든 답은 SQL 쿼리입니다. 사용자, 에이전트, 동료 누구나 같은 쿼리를 다시 실행할 수 있습니다.
- 모든 신호를 한곳에
- 트레이스, 로그, 메트릭, 프로파일은 쿼리 하나로 조인할 수 있는 테이블입니다.
- 5분이면 설치가 끝납니다
- 명령어 하나와 환경 변수 두 개면 됩니다. 코드는 바꾸지 않습니다.
- 직접 설치하면 무료입니다
- 호스트 수, 사용자 수, 데이터 양에 따른 요금이 없습니다. 호스팅 베타의 가격은 아직 공개하지 않았습니다. 문의해 주십시오.
- 데이터는 사용자 환경에 남습니다
- sigiro는 사용자의 서버에 설치합니다. sigiro는 저희에게 어떤 데이터도 보내지 않습니다. 예외는 호스팅 베타로, 텔레메트리가 저희 쪽에 저장됩니다.
- sigiro가 sigiro를 모니터링합니다
- sigiro는 자체 텔레메트리를 sigiro로 보냅니다. 저희는 이렇게 저희 장애를 찾습니다.