e11y 0.2.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +130 -10
- data/CHANGELOG.md +80 -1
- data/CLAUDE.md +168 -0
- data/CONTRIBUTING.md +640 -0
- data/README.md +165 -701
- data/RELEASE.md +41 -12
- data/Rakefile +249 -57
- data/config/README.md +1 -1
- data/config/loki-local-config.yaml +12 -0
- data/config/otel-collector-config.yaml +44 -0
- data/cucumber.yml +1 -0
- data/docker-compose.yml +18 -2
- data/docs/ADAPTERS.md +76 -0
- data/docs/ADAPTIVE_SAMPLING.md +59 -0
- data/docs/COMPARISON.md +104 -0
- data/docs/CONFIGURATION.md +52 -0
- data/docs/DISTRIBUTED_TRACING.md +44 -0
- data/docs/LIMITATIONS.md +13 -0
- data/docs/METRICS_DSL.md +84 -0
- data/docs/PERFORMANCE.md +60 -0
- data/docs/PII_FILTERING.md +40 -0
- data/docs/PRESETS.md +65 -0
- data/docs/QUICK-START.md +546 -587
- data/docs/RAILS_INTEGRATION.md +79 -0
- data/docs/SCHEMA_VALIDATION.md +63 -0
- data/docs/SLO-PROMQL-ALERTS.md +161 -0
- data/docs/TESTING.md +69 -0
- data/docs/{ADR-001-architecture.md → architecture/ADR-001-architecture.md} +36 -65
- data/docs/{ADR-002-metrics-yabeda.md → architecture/ADR-002-metrics-yabeda.md} +62 -236
- data/docs/architecture/ADR-003-slo-observability.md +1402 -0
- data/docs/{ADR-004-adapter-architecture.md → architecture/ADR-004-adapter-architecture.md} +163 -146
- data/docs/{ADR-005-tracing-context.md → architecture/ADR-005-tracing-context.md} +10 -9
- data/docs/{ADR-006-security-compliance.md → architecture/ADR-006-security-compliance.md} +184 -191
- data/docs/{ADR-007-opentelemetry-integration.md → architecture/ADR-007-opentelemetry-integration.md} +3 -21
- data/docs/{ADR-008-rails-integration.md → architecture/ADR-008-rails-integration.md} +182 -743
- data/docs/{ADR-009-cost-optimization.md → architecture/ADR-009-cost-optimization.md} +45 -54
- data/docs/architecture/ADR-010-developer-experience.md +522 -0
- data/docs/{ADR-011-testing-strategy.md → architecture/ADR-011-testing-strategy.md} +44 -86
- data/docs/{ADR-012-event-evolution.md → architecture/ADR-012-event-evolution.md} +11 -11
- data/docs/{ADR-013-reliability-error-handling.md → architecture/ADR-013-reliability-error-handling.md} +37 -12
- data/docs/{ADR-014-event-driven-slo.md → architecture/ADR-014-event-driven-slo.md} +12 -24
- data/docs/{ADR-015-middleware-order.md → architecture/ADR-015-middleware-order.md} +43 -59
- data/docs/{ADR-016-self-monitoring-slo.md → architecture/ADR-016-self-monitoring-slo.md} +58 -355
- data/docs/{ADR-017-multi-rails-compatibility.md → architecture/ADR-017-multi-rails-compatibility.md} +4 -11
- data/docs/architecture/ADR-018-memory-optimization.md +366 -0
- data/docs/{ADR-INDEX.md → architecture/ADR-INDEX.md} +11 -6
- data/docs/plans/2026-03-20-browser-overlay-svelte.md +281 -0
- data/docs/{00-ICP-AND-TIMELINE.md → prd/00-ICP-AND-TIMELINE.md} +6 -6
- data/docs/{01-SCALE-REQUIREMENTS.md → prd/01-SCALE-REQUIREMENTS.md} +6 -6
- data/docs/prd/01-overview-vision.md +19 -14
- data/docs/use_cases/README.md +22 -23
- data/docs/use_cases/UC-001-request-scoped-debug-buffering.md +50 -44
- data/docs/use_cases/UC-002-business-event-tracking.md +26 -95
- data/docs/use_cases/UC-003-event-metrics.md +66 -0
- data/docs/use_cases/UC-004-zero-config-slo-tracking.md +33 -684
- data/docs/use_cases/UC-005-sentry-integration.md +13 -15
- data/docs/use_cases/UC-006-trace-context-management.md +30 -28
- data/docs/use_cases/UC-007-pii-filtering.md +35 -87
- data/docs/use_cases/UC-008-opentelemetry-integration.md +51 -89
- data/docs/use_cases/UC-009-multi-service-tracing.md +30 -178
- data/docs/use_cases/UC-010-background-job-tracking.md +24 -91
- data/docs/use_cases/UC-011-rate-limiting.md +95 -168
- data/docs/use_cases/UC-012-audit-trail.md +21 -46
- data/docs/use_cases/UC-013-high-cardinality-protection.md +29 -167
- data/docs/use_cases/UC-014-adaptive-sampling.md +2 -2
- data/docs/use_cases/UC-015-cost-optimization.md +46 -99
- data/docs/use_cases/UC-016-rails-logger-migration.md +39 -213
- data/docs/use_cases/UC-017-local-development.md +203 -777
- data/docs/use_cases/UC-018-testing-events.md +3 -3
- data/docs/use_cases/UC-019-retention-based-routing.md +53 -106
- data/docs/use_cases/UC-020-event-versioning.md +8 -9
- data/docs/use_cases/UC-021-error-handling-retry-dlq.md +18 -22
- data/docs/use_cases/UC-022-event-registry.md +15 -21
- data/docs/use_cases/backlog.md +119 -87
- data/e11y.gemspec +2 -2
- data/gems/e11y-devtools/README.md +158 -0
- data/gems/e11y-devtools/config/routes.rb +15 -0
- data/gems/e11y-devtools/e11y-devtools.gemspec +25 -0
- data/gems/e11y-devtools/exe/e11y +34 -0
- data/gems/e11y-devtools/frontend/.gitignore +24 -0
- data/gems/e11y-devtools/frontend/README.md +51 -0
- data/gems/e11y-devtools/frontend/index.html +14 -0
- data/gems/e11y-devtools/frontend/package-lock.json +3707 -0
- data/gems/e11y-devtools/frontend/package.json +28 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/events/recent.json +4205 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/interactions.json +194 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/0a2e04027cfa22d014bc22e8b27cd913/events.json +86 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/0e1543af6a630fb3af6b52283154b3e0/events.json +169 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/1838b691faa49564f97db8592ff3978d/events.json +78 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/29f198f6588dacffb687777eb5f8f118/events.json +197 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/34bc3c9c0097de28a7a6f99b90a8e7bc/events.json +194 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/3ba6c20d068ab9cee00e51b180e66444/events.json +184 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/435bfd8f17b9009146a79812d7c3726d/events.json +144 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/4c7676e3fe668e99edb2b94d7d5678a9/events.json +222 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/6daf0d47974bedfc55d5de7004a3ea9f/events.json +194 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/8a81ada42834d15f287bb40010043605/events.json +194 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/8c0a98900edaae105469df8daedccf02/events.json +198 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/8e4f645180f8a7d1dce426b07380466b/events.json +222 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/93db346fa5d44a032605a13b627f4b80/events.json +128 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/98ff6146faf7bd9be8bd03a8275817ba/events.json +223 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/9997ddd0247bc7e25f2ca7a5c415c93d/events.json +197 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/99e35f8ef3baedd798cc4fd085980ad9/events.json +194 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/b4f3095c1909924cbc98889a86c83d6d/events.json +131 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/b54b7fc32b7575a7110de809d11ccda0/events.json +128 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/c0b48033fa06746bcc5886745e053cff/events.json +169 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/c44649ac76701b4558927cd2305ab535/events.json +169 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/d601ae3320057580a39dbdac2edfdf4a/events.json +248 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/e67e724bab422d2b52eeb49635e512e1/events.json +194 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/e6c72765a28f158a8485b35fa63f73da/events.json +194 -0
- data/gems/e11y-devtools/frontend/public/mocks/v1/traces/f541b87405c9a54819b18ebe529f6419/events.json +194 -0
- data/gems/e11y-devtools/frontend/scripts/generate_mocks.rb +397 -0
- data/gems/e11y-devtools/frontend/src/App.svelte +827 -0
- data/gems/e11y-devtools/frontend/src/components/Fab.svelte +19 -0
- data/gems/e11y-devtools/frontend/src/components/FilterBar.svelte +38 -0
- data/gems/e11y-devtools/frontend/src/components/FullscreenPanel.svelte +82 -0
- data/gems/e11y-devtools/frontend/src/components/InteractionsTimeline.svelte +264 -0
- data/gems/e11y-devtools/frontend/src/components/RecentHistogram.svelte +354 -0
- data/gems/e11y-devtools/frontend/src/lib/api.ts +37 -0
- data/gems/e11y-devtools/frontend/src/lib/eventIdentity.ts +12 -0
- data/gems/e11y-devtools/frontend/src/lib/format.ts +37 -0
- data/gems/e11y-devtools/frontend/src/lib/listFilter.ts +43 -0
- data/gems/e11y-devtools/frontend/src/lib/recentVolume.ts +80 -0
- data/gems/e11y-devtools/frontend/src/lib/router.ts +12 -0
- data/gems/e11y-devtools/frontend/src/lib/transitions.ts +34 -0
- data/gems/e11y-devtools/frontend/src/lib/viewportOrigin.ts +25 -0
- data/gems/e11y-devtools/frontend/src/main.ts +8 -0
- data/gems/e11y-devtools/frontend/src/overlay-entry.ts +24 -0
- data/gems/e11y-devtools/frontend/src/overlay.css +1080 -0
- data/gems/e11y-devtools/frontend/svelte.config.js +2 -0
- data/gems/e11y-devtools/frontend/test_puppeteer.js +41 -0
- data/gems/e11y-devtools/frontend/test_scale.js +3 -0
- data/gems/e11y-devtools/frontend/tsconfig.app.json +21 -0
- data/gems/e11y-devtools/frontend/tsconfig.json +7 -0
- data/gems/e11y-devtools/frontend/tsconfig.node.json +26 -0
- data/gems/e11y-devtools/frontend/vite.config.ts +36 -0
- data/gems/e11y-devtools/lib/e11y/devtools/mcp/server.rb +96 -0
- data/gems/e11y-devtools/lib/e11y/devtools/mcp/tool_base.rb +25 -0
- data/gems/e11y-devtools/lib/e11y/devtools/mcp/tools/clear.rb +31 -0
- data/gems/e11y-devtools/lib/e11y/devtools/mcp/tools/errors.rb +35 -0
- data/gems/e11y-devtools/lib/e11y/devtools/mcp/tools/event_detail.rb +33 -0
- data/gems/e11y-devtools/lib/e11y/devtools/mcp/tools/events_by_trace.rb +33 -0
- data/gems/e11y-devtools/lib/e11y/devtools/mcp/tools/interactions.rb +40 -0
- data/gems/e11y-devtools/lib/e11y/devtools/mcp/tools/recent_events.rb +34 -0
- data/gems/e11y-devtools/lib/e11y/devtools/mcp/tools/search.rb +34 -0
- data/gems/e11y-devtools/lib/e11y/devtools/mcp/tools/stats.rb +30 -0
- data/gems/e11y-devtools/lib/e11y/devtools/overlay/assets/overlay.js +20 -0
- data/gems/e11y-devtools/lib/e11y/devtools/overlay/controller.rb +94 -0
- data/gems/e11y-devtools/lib/e11y/devtools/overlay/engine.rb +26 -0
- data/gems/e11y-devtools/lib/e11y/devtools/overlay/middleware.rb +80 -0
- data/gems/e11y-devtools/lib/e11y/devtools/overlay/rails_controller.rb +67 -0
- data/gems/e11y-devtools/lib/e11y/devtools/tui/app.rb +262 -0
- data/gems/e11y-devtools/lib/e11y/devtools/tui/grouping.rb +66 -0
- data/gems/e11y-devtools/lib/e11y/devtools/tui/widgets/event_detail.rb +62 -0
- data/gems/e11y-devtools/lib/e11y/devtools/tui/widgets/event_list.rb +70 -0
- data/gems/e11y-devtools/lib/e11y/devtools/tui/widgets/interaction_list.rb +47 -0
- data/gems/e11y-devtools/lib/e11y/devtools/version.rb +8 -0
- data/gems/e11y-devtools/lib/e11y/devtools.rb +13 -0
- data/gems/e11y-devtools/spec/e11y/devtools/mcp/tools_spec.rb +107 -0
- data/gems/e11y-devtools/spec/e11y/devtools/overlay/controller_spec.rb +91 -0
- data/gems/e11y-devtools/spec/e11y/devtools/overlay/middleware_spec.rb +46 -0
- data/gems/e11y-devtools/spec/e11y/devtools/tui/app_spec.rb +85 -0
- data/gems/e11y-devtools/spec/e11y/devtools/tui/grouping_spec.rb +64 -0
- data/gems/e11y-devtools/spec/spec_helper.rb +5 -0
- data/gems/e11y-devtools/spec/tui/widgets/event_list_spec.rb +44 -0
- data/gems/e11y-devtools/spec/tui/widgets/interaction_list_spec.rb +62 -0
- data/lib/e11y/adapters/audit_encrypted.rb +53 -11
- data/lib/e11y/adapters/base.rb +33 -34
- data/lib/e11y/adapters/dev_log/file_store.rb +143 -0
- data/lib/e11y/adapters/dev_log/query.rb +219 -0
- data/lib/e11y/adapters/dev_log.rb +118 -0
- data/lib/e11y/adapters/file.rb +3 -6
- data/lib/e11y/adapters/in_memory.rb +52 -5
- data/lib/e11y/adapters/in_memory_test.rb +29 -0
- data/lib/e11y/adapters/loki.rb +58 -23
- data/lib/e11y/adapters/null.rb +82 -0
- data/lib/e11y/adapters/opentelemetry_collector.rb +183 -0
- data/lib/e11y/adapters/otel_logs.rb +136 -23
- data/lib/e11y/adapters/sentry.rb +4 -7
- data/lib/e11y/adapters/stdout.rb +73 -7
- data/lib/e11y/adapters/yabeda.rb +153 -29
- data/lib/e11y/buffers/adaptive_buffer.rb +3 -17
- data/lib/e11y/buffers/{request_scoped_buffer.rb → ephemeral_buffer.rb} +72 -58
- data/lib/e11y/buffers/ring_buffer.rb +3 -16
- data/lib/e11y/configuration.rb +272 -0
- data/lib/e11y/console.rb +10 -17
- data/lib/e11y/current.rb +53 -1
- data/lib/e11y/debug/pipeline_inspector.rb +96 -0
- data/lib/e11y/documentation/generator.rb +48 -0
- data/lib/e11y/event/base.rb +176 -82
- data/lib/e11y/event/value_sampling_config.rb +1 -5
- data/lib/e11y/events/rails/database/query.rb +1 -4
- data/lib/e11y/events/rails/job/failed.rb +2 -0
- data/lib/e11y/instruments/active_job.rb +44 -12
- data/lib/e11y/instruments/rails_instrumentation.rb +49 -24
- data/lib/e11y/instruments/sidekiq.rb +135 -31
- data/lib/e11y/linters/base.rb +11 -0
- data/lib/e11y/linters/pii/pii_declaration_linter.rb +120 -0
- data/lib/e11y/linters/slo/config_consistency_linter.rb +76 -0
- data/lib/e11y/linters/slo/explicit_declaration_linter.rb +36 -0
- data/lib/e11y/linters/slo/slo_status_from_linter.rb +41 -0
- data/lib/e11y/logger/bridge.rb +26 -7
- data/lib/e11y/metrics/cardinality_protection.rb +10 -15
- data/lib/e11y/metrics/cardinality_tracker.rb +16 -6
- data/lib/e11y/metrics/registry.rb +3 -5
- data/lib/e11y/metrics/test_backend.rb +62 -0
- data/lib/e11y/metrics.rb +56 -10
- data/lib/e11y/middleware/adapter_resolver.rb +40 -0
- data/lib/e11y/middleware/audit_signing.rb +43 -6
- data/lib/e11y/middleware/baggage_protection.rb +75 -0
- data/lib/e11y/middleware/dev_log_source.rb +24 -0
- data/lib/e11y/middleware/event_slo.rb +23 -9
- data/lib/e11y/middleware/otel_span.rb +23 -0
- data/lib/e11y/middleware/pii_filter.rb +104 -75
- data/lib/e11y/middleware/rate_limiting.rb +54 -27
- data/lib/e11y/middleware/request.rb +70 -23
- data/lib/e11y/middleware/routing.rb +78 -21
- data/lib/e11y/middleware/sampling.rb +66 -17
- data/lib/e11y/middleware/self_monitoring_emit.rb +39 -0
- data/lib/e11y/middleware/trace_context.rb +45 -10
- data/lib/e11y/middleware/track_latency.rb +34 -0
- data/lib/e11y/middleware/validation.rb +7 -16
- data/lib/e11y/middleware/versioning.rb +26 -22
- data/lib/e11y/opentelemetry/semantic_conventions.rb +109 -0
- data/lib/e11y/opentelemetry/span_creator.rb +142 -0
- data/lib/e11y/pii/patterns.rb +12 -1
- data/lib/e11y/pipeline/builder.rb +4 -4
- data/lib/e11y/presets/audit_event.rb +13 -2
- data/lib/e11y/railtie.rb +52 -14
- data/lib/e11y/registry.rb +306 -0
- data/lib/e11y/reliability/circuit_breaker.rb +19 -21
- data/lib/e11y/reliability/dlq/base.rb +71 -0
- data/lib/e11y/reliability/dlq/file_adapter.rb +301 -0
- data/lib/e11y/reliability/dlq/file_storage.rb +63 -34
- data/lib/e11y/reliability/dlq/filter.rb +37 -54
- data/lib/e11y/reliability/retry_handler.rb +26 -29
- data/lib/e11y/reliability/retry_rate_limiter.rb +3 -11
- data/lib/e11y/sampling/error_spike_detector.rb +0 -2
- data/lib/e11y/sampling/load_monitor.rb +5 -9
- data/lib/e11y/sampling/stratified_tracker.rb +18 -0
- data/lib/e11y/self_monitoring/buffer_monitor.rb +2 -0
- data/lib/e11y/self_monitoring/performance_monitor.rb +19 -61
- data/lib/e11y/self_monitoring/reliability_monitor.rb +4 -74
- data/lib/e11y/slo/config_loader.rb +40 -0
- data/lib/e11y/slo/config_validator.rb +58 -0
- data/lib/e11y/slo/dashboard_generator.rb +122 -0
- data/lib/e11y/slo/event_driven.rb +8 -0
- data/lib/e11y/slo/tracker.rb +31 -4
- data/lib/e11y/testing/have_tracked_event_matcher.rb +190 -0
- data/lib/e11y/testing/rspec_matchers.rb +21 -0
- data/lib/e11y/testing/snapshot_matcher.rb +86 -0
- data/lib/e11y/trace_context/sampler.rb +35 -0
- data/lib/e11y/tracing/faraday_middleware.rb +31 -0
- data/lib/e11y/tracing/net_http_patch.rb +33 -0
- data/lib/e11y/tracing/propagator.rb +144 -0
- data/lib/e11y/tracing.rb +47 -0
- data/lib/e11y/version.rb +1 -1
- data/lib/e11y/versioning/version_extractor.rb +32 -0
- data/lib/e11y.rb +123 -266
- data/lib/generators/e11y/event/event_generator.rb +22 -0
- data/lib/generators/e11y/event/templates/event.rb.tt +16 -0
- data/lib/generators/e11y/grafana_dashboard/grafana_dashboard_generator.rb +30 -0
- data/lib/generators/e11y/grafana_dashboard/templates/e11y_dashboard.json +81 -0
- data/lib/generators/e11y/install/install_generator.rb +34 -0
- data/lib/generators/e11y/install/templates/e11y.rb +239 -0
- data/lib/generators/e11y/prometheus_alerts/prometheus_alerts_generator.rb +29 -0
- data/lib/generators/e11y/prometheus_alerts/templates/e11y_alerts.yml +28 -0
- data/lib/tasks/e11y_docs.rake +30 -0
- data/lib/tasks/e11y_events.rake +71 -0
- data/lib/tasks/e11y_lint.rake +91 -0
- data/lib/tasks/e11y_slo.rake +29 -0
- metadata +186 -39
- data/docs/ADR-003-slo-observability.md +0 -3337
- data/docs/ADR-010-developer-experience.md +0 -2166
- data/docs/API-REFERENCE-L28.md +0 -914
- data/docs/COMPREHENSIVE-CONFIGURATION.md +0 -2366
- data/docs/CONTRIBUTING.md +0 -312
- data/docs/IMPLEMENTATION_NOTES.md +0 -2804
- data/docs/IMPLEMENTATION_PLAN.md +0 -1971
- data/docs/IMPLEMENTATION_PLAN_ARCHITECTURE.md +0 -586
- data/docs/PLAN.md +0 -148
- data/docs/README.md +0 -296
- data/docs/design/00-memory-optimization.md +0 -593
- data/docs/guides/MIGRATION-L27-L28.md +0 -692
- data/docs/guides/PERFORMANCE-BENCHMARKS.md +0 -434
- data/docs/guides/README.md +0 -44
- data/docs/use_cases/UC-003-pattern-based-metrics.md +0 -1627
- data/lib/e11y/adapters/registry.rb +0 -141
data/docs/PLAN.md
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
# ✅ TeamTab Plan Successfully Created!
|
|
2
|
-
|
|
3
|
-
**Date:** 2026-01-17
|
|
4
|
-
**Status:** Complete (100%)
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## 📊 CREATED PLANS SUMMARY
|
|
9
|
-
|
|
10
|
-
### **7 Root Tasks (Phases):**
|
|
11
|
-
|
|
12
|
-
1. **FEAT-4711:** PHASE 0: Gem Setup & Best Practices (Week -1)
|
|
13
|
-
- 3 L3 components + 20 L4 subtasks
|
|
14
|
-
- Root task (created separately)
|
|
15
|
-
|
|
16
|
-
2. **FEAT-4738:** PHASE 1: Foundation (Weeks 1-4)
|
|
17
|
-
- 6 L3 components + 19 L4 subtasks
|
|
18
|
-
- Root task (created separately)
|
|
19
|
-
|
|
20
|
-
3. **FEAT-4770:** PHASE 2: Core Features (Weeks 5-10)
|
|
21
|
-
- 4 L3 components + 12 L4 subtasks
|
|
22
|
-
- Root task (created separately)
|
|
23
|
-
|
|
24
|
-
4. **FEAT-4837:** PHASE 2.8: Advanced Sampling Strategies ⚡ *NEW*
|
|
25
|
-
- 5 L3 components + 14 L4 subtasks
|
|
26
|
-
- Root task (created 2026-01-20)
|
|
27
|
-
- **Deferred from L2.7** - Advanced adaptive sampling (error-based, load-based, value-based, stratified)
|
|
28
|
-
|
|
29
|
-
5. **FEAT-4792:** PHASE 3: Rails Integration (Weeks 11-14)
|
|
30
|
-
- 3 L3 components + 6 L4 subtasks
|
|
31
|
-
- Root task (created separately)
|
|
32
|
-
|
|
33
|
-
6. **FEAT-4805:** PHASE 4: Production Hardening (Weeks 15-20)
|
|
34
|
-
- 4 L3 components + 8 L4 subtasks
|
|
35
|
-
- Root task (created separately)
|
|
36
|
-
|
|
37
|
-
7. **FEAT-4822:** PHASE 5: Scale & Optimization (Weeks 21-26)
|
|
38
|
-
- 4 L3 components + 8 L4 subtasks
|
|
39
|
-
- Root task (created separately)
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## 📈 STATISTICS
|
|
44
|
-
|
|
45
|
-
**Total Created:**
|
|
46
|
-
- **7 root tasks** (phases) - *+1 added 2026-01-20*
|
|
47
|
-
- **29 L3 components** (main subtasks) - *+5 from Phase 2.8*
|
|
48
|
-
- **87 L4 subtasks** (detailed tasks) - *+14 from Phase 2.8*
|
|
49
|
-
- **~120+ L5-L6 verification tasks** (in task descriptions)
|
|
50
|
-
|
|
51
|
-
**Timeline:**
|
|
52
|
-
- Week -1: Phase 0 (Research & Setup)
|
|
53
|
-
- Weeks 1-4: Phase 1 (Foundation)
|
|
54
|
-
- Weeks 5-10: Phase 2 (Core Features)
|
|
55
|
-
- Weeks 11-14: Phase 3 (Rails Integration)
|
|
56
|
-
- Weeks 15-20: Phase 4 (Production Hardening)
|
|
57
|
-
- Weeks 21-26: Phase 5 (Scale & Optimization)
|
|
58
|
-
- **Total Duration:** 23-27 weeks
|
|
59
|
-
|
|
60
|
-
**Team:**
|
|
61
|
-
- Peak parallelization: 6 developers simultaneously
|
|
62
|
-
- Total estimate: ~1000+ person-hours
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## ✅ WHAT'S INCLUDED IN THE PLAN
|
|
67
|
-
|
|
68
|
-
### **Phase 0: Gem Setup** ✅
|
|
69
|
-
- Best practices research (Devise, Sidekiq, Puma, Dry-rb, Yabeda, Sentry)
|
|
70
|
-
- Project skeleton setup (Zeitwerk, CI/CD, Docker Compose)
|
|
71
|
-
- Team alignment
|
|
72
|
-
|
|
73
|
-
### **Phase 1: Foundation** ✅
|
|
74
|
-
- Event::Base (zero-allocation, schema DSL, presets)
|
|
75
|
-
- Buffers (RingBuffer, AdaptiveBuffer, RequestScoped)
|
|
76
|
-
- Middleware Pipeline (zones, ordering)
|
|
77
|
-
|
|
78
|
-
### **Phase 2: Core Features** ✅
|
|
79
|
-
- PII Filtering & Security (3-tier, audit pipeline)
|
|
80
|
-
- Adapter Architecture (6 adapters: Stdout, File, Loki, Sentry, Elasticsearch, InMemory)
|
|
81
|
-
- Metrics & Yabeda (pattern-based, cardinality protection)
|
|
82
|
-
- Sampling & Cost Optimization (Basic - L2.7)
|
|
83
|
-
|
|
84
|
-
### **Phase 2.8: Advanced Sampling Strategies** ⚡ *NEW* ⏳
|
|
85
|
-
- Error-Based Adaptive Sampling (↑ rate during incidents)
|
|
86
|
-
- Load-Based Adaptive Sampling (↓ rate during overload)
|
|
87
|
-
- Value-Based Sampling (↑ rate for high-value events)
|
|
88
|
-
- Stratified Sampling for SLO Accuracy (C11)
|
|
89
|
-
- **Status:** Planned (2026-01-20), awaiting approval to start
|
|
90
|
-
- **Depends On:** L2.7 (Basic Sampling - completed)
|
|
91
|
-
|
|
92
|
-
### **Phase 3: Rails Integration** ✅
|
|
93
|
-
- Railtie & Auto-Configuration
|
|
94
|
-
- Rails Instrumentation (unidirectional ASN → E11y)
|
|
95
|
-
- Sidekiq/ActiveJob Integration (hybrid tracing)
|
|
96
|
-
- Rails.logger Migration
|
|
97
|
-
|
|
98
|
-
### **Phase 4: Production Hardening** ✅
|
|
99
|
-
- Reliability & Error Handling (DLQ, rate limiting, retry)
|
|
100
|
-
- OpenTelemetry Integration (logs, baggage PII protection)
|
|
101
|
-
- Event Versioning & Schema Migrations
|
|
102
|
-
- SLO Tracking & Self-Monitoring
|
|
103
|
-
|
|
104
|
-
### **Phase 5: Scale & Optimization** ✅
|
|
105
|
-
- High Cardinality Protection (dynamic actions)
|
|
106
|
-
- Tiered Storage Migration (hot/warm/cold)
|
|
107
|
-
- Performance Optimization (1K → 10K → 100K events/sec)
|
|
108
|
-
- Documentation & Gem Release
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## 🎯 KEY ACHIEVEMENTS
|
|
113
|
-
|
|
114
|
-
✅ **All ADRs covered** (ADR-001 to ADR-016)
|
|
115
|
-
✅ **All Use Cases covered** (UC-001 to UC-022)
|
|
116
|
-
✅ **All critical resolutions** (C01 to C20)
|
|
117
|
-
✅ **Detailed DoD for each task**
|
|
118
|
-
✅ **[P] markers for parallelization**
|
|
119
|
-
✅ **Quality Gates for milestone tasks**
|
|
120
|
-
✅ **Verification steps (L6) in descriptions**
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
## 🚀 NEXT STEPS
|
|
125
|
-
|
|
126
|
-
### **Current Status (2026-01-20):**
|
|
127
|
-
- ✅ **L2.7 (Basic Sampling)** - COMPLETED
|
|
128
|
-
- ⏳ **FEAT-4837 (Phase 2.8)** - AWAITING APPROVAL
|
|
129
|
-
- Plan created for advanced sampling strategies
|
|
130
|
-
- Need human approval to start execution
|
|
131
|
-
|
|
132
|
-
### **To Continue:**
|
|
133
|
-
1. **Return to main plan:** Continue with original Phase 2 tasks (L2.8+)
|
|
134
|
-
2. **Approve Phase 2.8:** Review and approve FEAT-4837 when ready to implement advanced sampling
|
|
135
|
-
3. **Track progress:** Monitor via TeamTab dashboard
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## 📝 REFERENCES
|
|
140
|
-
|
|
141
|
-
- **Main Plan:** `docs/IMPLEMENTATION_PLAN.md`
|
|
142
|
-
- **Architecture:** `docs/IMPLEMENTATION_PLAN_ARCHITECTURE.md`
|
|
143
|
-
- **ADRs:** `docs/ADR-001-*.md` to `docs/ADR-016-*.md`
|
|
144
|
-
- **Use Cases:** `docs/use_cases/UC-001-*.md` to `docs/use_cases/UC-022-*.md`
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
**🎉 Plan is ready for execution! All 6 phases created with detailed structure, DoD, and clear dependencies.**
|
data/docs/README.md
DELETED
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
# E11y - Complete Documentation
|
|
2
|
-
|
|
3
|
-
> **E11y** = **e**asy t**e**lemetry (11 букв между 'e' и 'y', как i18n, l10n)
|
|
4
|
-
|
|
5
|
-
Production-ready Ruby gem для структурированных бизнес-событий с request-scoped buffering, pattern-based метриками и zero-config SLO tracking.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 🚀 Quick Links
|
|
10
|
-
|
|
11
|
-
- **[Quick Start Guide](./QUICK-START.md)** - 5-minute setup
|
|
12
|
-
- **[SLO Implementation Guide](./SLO-IMPLEMENTATION-GUIDE.md)** ⭐ Quick navigation for SLO setup
|
|
13
|
-
- **[Configuration Reference](./COMPREHENSIVE-CONFIGURATION.md)** - All config options
|
|
14
|
-
- **[ADR Coverage Check](./ADR-COVERAGE-CHECK.md)** - Architecture decisions
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## 🎯 **NEW: IMPLEMENTATION PLAN (2026-01-17)** ⭐
|
|
19
|
-
|
|
20
|
-
**Complete implementation plan ready for execution!**
|
|
21
|
-
|
|
22
|
-
- 📄 **[IMPLEMENTATION_PLAN.md](./IMPLEMENTATION_PLAN.md)** - Main plan
|
|
23
|
-
- 6 phases, 19 components, 220+ tasks with DoD
|
|
24
|
-
- Parallelization strategy, integration contracts
|
|
25
|
-
|
|
26
|
-
- 📄 **[IMPLEMENTATION_PLAN_ARCHITECTURE.md](./IMPLEMENTATION_PLAN_ARCHITECTURE.md)** - Architecture decisions
|
|
27
|
-
- Critical questions & answers (Q1-Q4)
|
|
28
|
-
- Unidirectional ASN flow, overridable event classes, Phase 0
|
|
29
|
-
|
|
30
|
-
**Key Metrics:**
|
|
31
|
-
- **Timeline:** 23-27 weeks (includes Week -1 gem setup)
|
|
32
|
-
- **Team Size:** 4-6 developers (peak: 6)
|
|
33
|
-
- **Quality:** 100% ADR/UC coverage, professional Rails gem
|
|
34
|
-
- **Status:** ✅ Ready for execution
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## 📚 Documentation Structure
|
|
39
|
-
|
|
40
|
-
### 1. Getting Started
|
|
41
|
-
- **[00. ICP & Timeline](./00-ICP-AND-TIMELINE.md)** - Project overview, target users, roadmap
|
|
42
|
-
- **[01. Scale Requirements](./01-SCALE-REQUIREMENTS.md)** - Performance targets, capacity planning
|
|
43
|
-
- **[Quick Start](./quick-start.md)** - 5-minute setup guide
|
|
44
|
-
- **[Installation](./installation.md)** - Detailed installation steps
|
|
45
|
-
|
|
46
|
-
### 2. Product Requirements (PRD)
|
|
47
|
-
- **[PRD-01: Overview & Vision](./prd/01-overview-vision.md)** - Problem, solution, value proposition
|
|
48
|
-
- **[PRD-02: Functional Requirements](./prd/02-functional-requirements.md)** - What the gem does
|
|
49
|
-
- **[PRD-03: User Stories](./prd/03-user-stories.md)** - By persona
|
|
50
|
-
- **[PRD-04: Success Metrics](./prd/04-success-metrics.md)** - How we measure success
|
|
51
|
-
- **[PRD-05: Competitive Analysis](./prd/05-competitive-analysis.md)** - vs OTel, Sentry, Yabeda
|
|
52
|
-
|
|
53
|
-
### 3. Technical Requirements (TRD)
|
|
54
|
-
- **[TRD-01: System Architecture](./trd/01-system-architecture.md)** - High-level design (C4 diagrams)
|
|
55
|
-
- **[TRD-02: API Design](./trd/02-api-design.md)** - Event DSL, configuration DSL
|
|
56
|
-
- **[TRD-03: Data Models](./trd/03-data-models.md)** - Event structure, schemas
|
|
57
|
-
- **[TRD-04: Performance Requirements](./trd/04-performance-requirements.md)** - Latency, throughput, memory
|
|
58
|
-
- **[TRD-05: Security Requirements](./trd/05-security-requirements.md)** - PII filtering, rate limiting, audit
|
|
59
|
-
- **[TRD-06: Integration Requirements](./trd/06-integration-requirements.md)** - OTel, Yabeda, Rails, Sidekiq
|
|
60
|
-
|
|
61
|
-
### 4. Detailed Design
|
|
62
|
-
- **[Design-01: Event Layer](./design/01-event-layer.md)** - Event DSL, validation, registry
|
|
63
|
-
- **[Design-02: Processing Layer](./design/02-processing-layer.md)** - Filtering, PII, rate limiting
|
|
64
|
-
- **[Design-03: Buffer Layer](./design/03-buffer-layer.md)** - Ring buffer, request-scoped buffering
|
|
65
|
-
- **[Design-04: Metrics Layer](./design/04-metrics-layer.md)** - Pattern-based metrics, Yabeda integration
|
|
66
|
-
- **[Design-05: Adapter Layer](./design/05-adapter-layer.md)** - Pluggable backends (Loki, ELK, Sentry)
|
|
67
|
-
- **[Design-06: Transport Layer](./design/06-transport-layer.md)** - Async workers, retry, circuit breaker
|
|
68
|
-
- **[Design-07: OpenTelemetry Integration](./design/07-opentelemetry-integration.md)** - OTel Collector, traces
|
|
69
|
-
- **[Design-08: SLO Tracking](./design/08-slo-tracking.md)** - Auto-instrumentation, error budgets
|
|
70
|
-
|
|
71
|
-
### 5. Use Cases
|
|
72
|
-
- **[Use Cases Index](./use_cases/README.md)** - All use cases by category
|
|
73
|
-
- **[UC-001: Request-Scoped Debug Buffering](./use_cases/UC-001-request-scoped-debug-buffering.md)** ⭐ Killer feature
|
|
74
|
-
- **[UC-002: Business Event Tracking](./use_cases/UC-002-business-event-tracking.md)** ⭐ Core feature
|
|
75
|
-
- **[UC-003: Pattern-Based Metrics](./use_cases/UC-003-pattern-based-metrics.md)**
|
|
76
|
-
- **[UC-004: Zero-Config SLO Tracking](./use_cases/UC-004-zero-config-slo-tracking.md)** ⭐ Killer feature
|
|
77
|
-
- **[UC-005: PII Filtering](./use_cases/UC-005-pii-filtering.md)**
|
|
78
|
-
- **[UC-006-016: Additional Use Cases](./use_cases/README.md)**
|
|
79
|
-
|
|
80
|
-
### 6. Configuration
|
|
81
|
-
- **[Configuration Reference](./configuration/README.md)** - All options explained
|
|
82
|
-
- **[Configuration Examples](./configuration/examples.md)** - Small/Medium/Large teams
|
|
83
|
-
- **[Configuration Best Practices](./configuration/best-practices.md)** - Production recommendations
|
|
84
|
-
|
|
85
|
-
### 7. API Reference
|
|
86
|
-
- **[API Overview](./api/README.md)**
|
|
87
|
-
- **[Event API](./api/event-api.md)** - E11y::Event class, attributes, validation
|
|
88
|
-
- **[Configuration API](./api/configuration-api.md)** - E11y.configure DSL
|
|
89
|
-
- **[Tracking API](./api/tracking-api.md)** - .track() method, blocks
|
|
90
|
-
- **[Metrics API](./api/metrics-api.md)** - Pattern-based metrics DSL
|
|
91
|
-
|
|
92
|
-
### 8. Guides
|
|
93
|
-
- **[Migration from Rails.logger](./guides/migration-from-rails-logger.md)**
|
|
94
|
-
- **[Migration from Yabeda](./guides/migration-from-yabeda.md)**
|
|
95
|
-
- **[Integration with OpenTelemetry](./guides/opentelemetry-integration.md)**
|
|
96
|
-
- **[Testing Guide](./guides/testing.md)** - Unit, integration, load tests
|
|
97
|
-
- **[Debugging Guide](./guides/debugging.md)** - Troubleshooting
|
|
98
|
-
- **[Performance Tuning](./guides/performance-tuning.md)** - Optimization tips
|
|
99
|
-
|
|
100
|
-
### 9. Architecture Decision Records (ADRs)
|
|
101
|
-
|
|
102
|
-
**Complete ADRs:**
|
|
103
|
-
- **[ADR-001: Architecture](./ADR-001-architecture.md)** - Core architecture, components, processing pipeline
|
|
104
|
-
- **[ADR-002: Metrics & Yabeda](./ADR-002-metrics-yabeda.md)** - Pattern-based metrics, cardinality protection
|
|
105
|
-
- **[ADR-003: SLO & Observability](./ADR-003-slo-observability.md)** - HTTP/Job SLO, per-endpoint config, burn rate alerts
|
|
106
|
-
- **[ADR-004: Adapter Architecture](./ADR-004-adapter-architecture.md)** - Pluggable backends, retry, circuit breaker
|
|
107
|
-
- **[ADR-005: Tracing & Context](./ADR-005-tracing-context.md)** - W3C Trace Context, propagation
|
|
108
|
-
- **[ADR-006: Security & Compliance](./ADR-006-security-compliance.md)** - PII filtering, rate limiting, audit trail
|
|
109
|
-
- **[ADR-007: OpenTelemetry Integration](./ADR-007-opentelemetry-integration.md)** - OTLP, semantic conventions
|
|
110
|
-
- **[ADR-008: Rails Integration](./ADR-008-rails-integration.md)** - Railtie, Rack, Sidekiq, ActiveJob
|
|
111
|
-
- **[ADR-009: Cost Optimization](./ADR-009-cost-optimization.md)** - Sampling, compression, smart routing
|
|
112
|
-
- **[ADR-010: Developer Experience](./ADR-010-developer-experience.md)** - Console, Web UI, debug tools
|
|
113
|
-
- **[ADR-011: Testing Strategy](./ADR-011-testing-strategy.md)** - RSpec matchers, test adapters
|
|
114
|
-
- **[ADR-012: Event Evolution](./ADR-012-event-evolution.md)** - Versioning, schema changes, DLQ replay
|
|
115
|
-
- **[ADR-013: Reliability & Error Handling](./ADR-013-reliability-error-handling.md)** - Retry, DLQ, circuit breaker
|
|
116
|
-
- **[ADR-014: Event-Driven SLO](./ADR-014-event-driven-slo.md)** - Custom SLO for business logic
|
|
117
|
-
- **[ADR-015: Middleware Order](./ADR-015-middleware-order.md)** - Processing pipeline execution order
|
|
118
|
-
|
|
119
|
-
**Integration & Analysis:**
|
|
120
|
-
- **[ADR-003-014 Integration](./ADR-003-014-INTEGRATION.md)** - How HTTP SLO and Event SLO work together
|
|
121
|
-
- **[ADR Coverage Check](./ADR-COVERAGE-CHECK.md)** - ADR completeness matrix
|
|
122
|
-
|
|
123
|
-
### 10. Implementation Plan
|
|
124
|
-
- **[Phase 1: MVP Core](./implementation/phase-1-mvp.md)** - Weeks 1-8
|
|
125
|
-
- **[Phase 2: Yabeda Integration](./implementation/phase-2-yabeda.md)** - Weeks 9-12
|
|
126
|
-
- **[Phase 3: SLO Tracking](./implementation/phase-3-slo.md)** - Weeks 13-16
|
|
127
|
-
- **[Phase 4: OpenTelemetry](./implementation/phase-4-otel.md)** - Weeks 17-20
|
|
128
|
-
- **[Phase 5: Production Hardening](./implementation/phase-5-hardening.md)** - Weeks 21-24
|
|
129
|
-
|
|
130
|
-
### 11. Research & Analysis
|
|
131
|
-
- **[Research Findings 2025](./research/e11y-research-findings-2025.md)** - 40+ sources analyzed
|
|
132
|
-
- **[Cardinality Protection](./research/cardinality-protection.md)** - Critical issue deep-dive
|
|
133
|
-
- **[Rails PII Filtering Compatibility](./research/rails-pii-filtering.md)** - Design decision
|
|
134
|
-
|
|
135
|
-
### 12. Operations
|
|
136
|
-
- **[Deployment Guide](./operations/deployment.md)** - Production deployment
|
|
137
|
-
- **[Monitoring Guide](./operations/monitoring.md)** - Self-monitoring
|
|
138
|
-
- **[Alerting Guide](./operations/alerting.md)** - Prometheus alerts
|
|
139
|
-
- **[Runbooks](./operations/runbooks/)** - Common operational tasks
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
## 🎯 Documentation by Persona
|
|
144
|
-
|
|
145
|
-
### Ruby/Rails Developers
|
|
146
|
-
**Start here:**
|
|
147
|
-
1. [Quick Start](./quick-start.md) - Get running in 5 minutes
|
|
148
|
-
2. [UC-002: Business Event Tracking](./use_cases/UC-002-business-event-tracking.md) - Core functionality
|
|
149
|
-
3. [Migration from Rails.logger](./guides/migration-from-rails-logger.md) - Replace existing logging
|
|
150
|
-
|
|
151
|
-
**Then explore:**
|
|
152
|
-
- [Event API Reference](./api/event-api.md)
|
|
153
|
-
- [Testing Guide](./guides/testing.md)
|
|
154
|
-
- [Configuration Examples](./configuration/examples.md)
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
### DevOps/SRE Engineers
|
|
159
|
-
**Start here:**
|
|
160
|
-
1. [01. Scale Requirements](./01-SCALE-REQUIREMENTS.md) - Performance targets
|
|
161
|
-
2. [UC-004: Zero-Config SLO Tracking](./use_cases/UC-004-zero-config-slo-tracking.md) - Auto-monitoring
|
|
162
|
-
3. [Deployment Guide](./operations/deployment.md) - Production setup
|
|
163
|
-
|
|
164
|
-
**Then explore:**
|
|
165
|
-
- [Performance Requirements](./trd/04-performance-requirements.md)
|
|
166
|
-
- [Monitoring Guide](./operations/monitoring.md)
|
|
167
|
-
- [Performance Tuning](./guides/performance-tuning.md)
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
### Engineering Managers/CTOs
|
|
172
|
-
**Start here:**
|
|
173
|
-
1. [00. ICP & Timeline](./00-ICP-AND-TIMELINE.md) - Project overview, ROI
|
|
174
|
-
2. [PRD-01: Overview & Vision](./prd/01-overview-vision.md) - Business value
|
|
175
|
-
3. [PRD-05: Competitive Analysis](./prd/05-competitive-analysis.md) - vs alternatives
|
|
176
|
-
|
|
177
|
-
**Then explore:**
|
|
178
|
-
- [Success Metrics](./prd/04-success-metrics.md)
|
|
179
|
-
- [Implementation Plan](./implementation/phase-1-mvp.md)
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
|
-
### Security/Compliance Teams
|
|
184
|
-
**Start here:**
|
|
185
|
-
1. [UC-005: PII Filtering](./use_cases/UC-005-pii-filtering.md) - Rails-compatible filtering
|
|
186
|
-
2. [Security Requirements](./trd/05-security-requirements.md) - Threat model
|
|
187
|
-
3. [UC-007: Audit Trail](./use_cases/UC-007-audit-trail.md) - Compliance logging
|
|
188
|
-
|
|
189
|
-
**Then explore:**
|
|
190
|
-
- [Design-02: Processing Layer](./design/02-processing-layer.md) - PII, rate limiting
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## 🔍 Finding What You Need
|
|
195
|
-
|
|
196
|
-
### By Task
|
|
197
|
-
|
|
198
|
-
**"I want to get started quickly"**
|
|
199
|
-
→ [Quick Start Guide](./quick-start.md)
|
|
200
|
-
|
|
201
|
-
**"I need to track business events"**
|
|
202
|
-
→ [UC-002: Business Event Tracking](./use_cases/UC-002-business-event-tracking.md)
|
|
203
|
-
|
|
204
|
-
**"I need to debug production issues"**
|
|
205
|
-
→ [UC-001: Request-Scoped Debug Buffering](./use_cases/UC-001-request-scoped-debug-buffering.md)
|
|
206
|
-
|
|
207
|
-
**"I need SLO monitoring"**
|
|
208
|
-
→ [SLO Implementation Guide](./SLO-IMPLEMENTATION-GUIDE.md) ⭐ or [UC-004: Zero-Config SLO](./use_cases/UC-004-zero-config-slo-tracking.md)
|
|
209
|
-
|
|
210
|
-
**"I need to filter PII"**
|
|
211
|
-
→ [UC-005: PII Filtering](./use_cases/UC-005-pii-filtering.md)
|
|
212
|
-
|
|
213
|
-
**"I need to migrate from Rails.logger"**
|
|
214
|
-
→ [Migration Guide](./guides/migration-from-rails-logger.md)
|
|
215
|
-
|
|
216
|
-
**"I need to integrate with OpenTelemetry"**
|
|
217
|
-
→ [OpenTelemetry Integration Guide](./guides/opentelemetry-integration.md)
|
|
218
|
-
|
|
219
|
-
**"I need to test events"**
|
|
220
|
-
→ [Testing Guide](./guides/testing.md)
|
|
221
|
-
|
|
222
|
-
**"I need to optimize performance"**
|
|
223
|
-
→ [Performance Tuning Guide](./guides/performance-tuning.md)
|
|
224
|
-
|
|
225
|
-
**"I need to deploy to production"**
|
|
226
|
-
→ [Deployment Guide](./operations/deployment.md)
|
|
227
|
-
|
|
228
|
-
---
|
|
229
|
-
|
|
230
|
-
### By Feature
|
|
231
|
-
|
|
232
|
-
- **Event DSL:** [Event API](./api/event-api.md), [Design-01](./design/01-event-layer.md)
|
|
233
|
-
- **Request-Scoped Buffering:** [UC-001](./use_cases/UC-001-request-scoped-debug-buffering.md), [Design-03](./design/03-buffer-layer.md)
|
|
234
|
-
- **Pattern-Based Metrics:** [UC-003](./use_cases/UC-003-pattern-based-metrics.md), [Design-04](./design/04-metrics-layer.md)
|
|
235
|
-
- **SLO Tracking:** [UC-004](./use_cases/UC-004-zero-config-slo-tracking.md), [Design-08](./design/08-slo-tracking.md)
|
|
236
|
-
- **PII Filtering:** [UC-005](./use_cases/UC-005-pii-filtering.md), [Design-02](./design/02-processing-layer.md)
|
|
237
|
-
- **OpenTelemetry:** [Guide](./guides/opentelemetry-integration.md), [Design-07](./design/07-opentelemetry-integration.md)
|
|
238
|
-
- **Adapters:** [Design-05](./design/05-adapter-layer.md)
|
|
239
|
-
|
|
240
|
-
---
|
|
241
|
-
|
|
242
|
-
## 📖 Reading Order
|
|
243
|
-
|
|
244
|
-
### For First-Time Users (Linear)
|
|
245
|
-
1. [Quick Start](./quick-start.md) - 5 min
|
|
246
|
-
2. [UC-002: Business Event Tracking](./use_cases/UC-002-business-event-tracking.md) - 15 min
|
|
247
|
-
3. [Configuration Examples](./configuration/examples.md) - 10 min
|
|
248
|
-
4. [UC-001: Request-Scoped Debug Buffering](./use_cases/UC-001-request-scoped-debug-buffering.md) - 20 min
|
|
249
|
-
5. [UC-004: Zero-Config SLO Tracking](./use_cases/UC-004-zero-config-slo-tracking.md) - 15 min
|
|
250
|
-
|
|
251
|
-
**Total: ~1 hour to understand core features**
|
|
252
|
-
|
|
253
|
-
---
|
|
254
|
-
|
|
255
|
-
### For Production Deployment (Checklist)
|
|
256
|
-
- [ ] Read [Quick Start](./quick-start.md)
|
|
257
|
-
- [ ] Review [Scale Requirements](./01-SCALE-REQUIREMENTS.md)
|
|
258
|
-
- [ ] Read [Security Requirements](./trd/05-security-requirements.md)
|
|
259
|
-
- [ ] Configure [PII Filtering](./use_cases/UC-005-pii-filtering.md)
|
|
260
|
-
- [ ] Set up [Adapters](./design/05-adapter-layer.md) (Loki, Sentry)
|
|
261
|
-
- [ ] Enable [SLO Tracking](./use_cases/UC-004-zero-config-slo-tracking.md)
|
|
262
|
-
- [ ] Review [Performance Tuning](./guides/performance-tuning.md)
|
|
263
|
-
- [ ] Follow [Deployment Guide](./operations/deployment.md)
|
|
264
|
-
- [ ] Set up [Monitoring](./operations/monitoring.md) & [Alerting](./operations/alerting.md)
|
|
265
|
-
|
|
266
|
-
---
|
|
267
|
-
|
|
268
|
-
## 🤝 Contributing
|
|
269
|
-
|
|
270
|
-
See [CONTRIBUTING.md](../CONTRIBUTING.md) for:
|
|
271
|
-
- How to report bugs
|
|
272
|
-
- How to suggest features
|
|
273
|
-
- How to submit patches
|
|
274
|
-
- Development setup
|
|
275
|
-
|
|
276
|
-
---
|
|
277
|
-
|
|
278
|
-
## 📜 License
|
|
279
|
-
|
|
280
|
-
E11y is released under the [MIT License](../LICENSE.md).
|
|
281
|
-
|
|
282
|
-
---
|
|
283
|
-
|
|
284
|
-
## 🔗 External Resources
|
|
285
|
-
|
|
286
|
-
- **GitHub:** https://github.com/yourorg/e11y
|
|
287
|
-
- **RubyGems:** https://rubygems.org/gems/e11y
|
|
288
|
-
- **Documentation Site:** https://e11y.dev
|
|
289
|
-
- **Community Discord:** https://discord.gg/e11y
|
|
290
|
-
- **Twitter:** @e11y_gem
|
|
291
|
-
|
|
292
|
-
---
|
|
293
|
-
|
|
294
|
-
**Document Version:** 1.0
|
|
295
|
-
**Last Updated:** January 12, 2026
|
|
296
|
-
**Project Status:** MVP Development (Phase 1)
|