Skip to main content

SCOM-based microservice boundary analysis from Jaeger traces

Project description

Changelog

v1.0.0 (2026-06-11)

Features

  • SCOM pipeline : computes Service-COhesion Metric from Jaeger traces (health filtering, endpoint extraction, DB table detection, endpoint-table mapping, threshold analysis, report generation)
  • CLI tool : mba / boundary-analyzer commands (run, setup, dashboard, teastore)
  • Auto-instrumentation : auto-detects Python microservices (FastAPI, Flask, Django), injects OpenTelemetry, collects traces via Jaeger, runs SCOM analysis
  • TeaStore support : Docker Compose deployment with OTel Java agent, traffic generator, trace exporter, full SCOM pipeline
  • Dashboard : interactive Dash web UI for SCOM results
  • LLM analysis (optional) : AI-powered narrative report via OpenRouter (Qwen), disabled by default

Improvements

  • Segment-based health matching (HEALTH_KEYWORDS) instead of fragile endswith/health/all, /auth/health, /ready/isready, /metrics (via http.target) correctly filtered
  • --skip-no-db-services flag to exclude stateless services (proxy, orchestrator, etc.) from SCOM ranking
  • run_teastore() function extracted for programmatic access

Bug fixes

  • MissingGreenlet in classroom-repository (added selectinload)
  • datetime timezone-aware comparison in enrollment-service
  • academic_year int→str conversion in enrollment-service
  • Scope bug in cleaned_parts variable in CLI cleanup logic
  • SQLAlchemy duplicate instrumentation (event listeners only, no SQLAlchemyInstrumentor/AsyncPGInstrumentor)
  • [project.scripts] whitespace in pyproject.toml

Tests

  • 74 tests total (58 existing + 16 TeaStore)
  • TeaStore synthetic fixtures (persistence-service with 5 tables, auth-service without DB)
  • 3 test classes : TeaStorePipelineTest, TeaStoreSkipNoDbTest, TeaStoreNoFilterTest

Infrastructure

  • CI via GitHub Actions (.github/workflows/ci.yml) — Python 3.11 × 3.12
  • mba CLI alias alongside boundary-analyzer
  • Version bump to 0.2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boundary_analyzer-0.3.2.tar.gz (139.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

boundary_analyzer-0.3.2-py3-none-any.whl (139.2 kB view details)

Uploaded Python 3

File details

Details for the file boundary_analyzer-0.3.2.tar.gz.

File metadata

  • Download URL: boundary_analyzer-0.3.2.tar.gz
  • Upload date:
  • Size: 139.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for boundary_analyzer-0.3.2.tar.gz
Algorithm Hash digest
SHA256 c37b9e6ed62736d5dbb7b97a23eb7c06ac33b40a1aa8f1e1132c53dc3a91a685
MD5 3768a3cdb59df10ef4926c891a2e5399
BLAKE2b-256 85fdf3e0f45727b18ddf7ff4ab114d46c290466adec53e40f1299e567b6ac060

See more details on using hashes here.

File details

Details for the file boundary_analyzer-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for boundary_analyzer-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2b4b1f16976e9697e66e90ae2477deabdc9b77216f4cdee5d8dbda0264eeae80
MD5 6e1dd6f4fd8613a4f5102291d7c1bfaa
BLAKE2b-256 cc576e9b843781c3fbe6e7ab5d1d9f4d21add9ea11d462f698c4f29e03ab7799

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page