feat(export): OTLP/JSON exporter for OpenTelemetry integration
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 52/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- javascript
- Lĩnh vực
- observability
Hướng nghiên cứu
Bắt đầu với interface LogExporter từ #139 và điểm vào cấu hình userale.start được trình bày trong issue. Theo dõi cách exporterType và otlpEndpoint được xử lý, sau đó triển khai các ánh xạ Flagon-to-OTLP đã được tài liệu hóa và xác minh rằng các log đến endpoint /v1/logs tiêu chuẩn với cấu trúc JSON được chỉ định.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
Implement an OtlpJsonExporter that sends UserALE logs to any OpenTelemetry Collector via OTLP/HTTP JSON.
Motivation
OpenTelemetry is the de-facto standard for observability. OTLP support lets Flagon users send behavioral data to Grafana, Datadog, Jaeger, and any OTel-compatible backend — without building custom ingestion pipelines.
No competing behavioral analytics library (PostHog, Matomo, Plausible) speaks OTLP. This is a differentiation opportunity.
Design
- Maps Flagon log fields → OTLP
LogRecordattributes using OTel semantic conventions - Builds OTLP/JSON payloads using plain objects (zero external dependencies)
- Ships to standard OTLP HTTP receiver (port 4318,
/v1/logs) - ~150 lines of code, ~2-3 KB gzipped added to bundle
Attribute Mapping
| Flagon Field | OTLP Mapping |
|---|---|
clientTime |
timeUnixNano |
toolName |
resource.service.name |
useraleVersion |
resource.telemetry.sdk.version |
userId |
attributes.enduser.id |
sessionId |
attributes.session.id |
pageUrl |
attributes.url.full |
target |
attributes.flagon.dom.target |
type |
attributes.flagon.event_type |
logType |
attributes.flagon.log_type |
details |
body (JSON string) |
User Experience
// One config change to enable OTLP
userale.start({
exporterType: 'otlp',
otlpEndpoint: 'http://localhost:4318',
});
Depends On
- #139 (LogExporter interface)
- Ngôn ngữ chính
- Jupyter Notebook
- Star
- 30
- Fork
- 15
- Merge trung bình
- 7 ngày 11 giờ
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/flagon
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
release: v2.5.0 — Sign of LifeĐang mởprocess
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Discuss enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
enhancement experimental
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 42/100
-
enhancement Userale
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
Tất cả issue của apache/flagon
Issue tương tự
-
bug Durable Agents Observability (AI Telemetry) status: needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
mastra-ai/mastra#26470 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: frontend bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
snapotter-hq/SnapOtter#2217 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
component:sight
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
agentic-os-org/ANOLISA#6735 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Arize-ai/openinference#3990 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[FIX][CompressingSession][Compress exports that OpenTelemetry 1.45 sends through Session.request]Đang mởbug dependencies telemetry
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
kyegomez/swarms#2508 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày