https://github.com/madesroches/micromegas

Scalable Observability

https://github.com/madesroches/micromegas

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary

Keywords

apache-arrow datafusion fdap flight-sql logging metrics observability parquet python rust time-series traces unreal-engine-5

Keywords from Contributors

sequences projection interactive serializer measurement cycles packaging charts network-simulation modular
Last synced: 6 months ago · JSON representation

Repository

Scalable Observability

Basic Info
  • Host: GitHub
  • Owner: madesroches
  • License: apache-2.0
  • Language: Rust
  • Default Branch: main
  • Homepage:
  • Size: 39.7 MB
Statistics
  • Stars: 31
  • Watchers: 4
  • Forks: 5
  • Open Issues: 8
  • Releases: 9
Topics
apache-arrow datafusion fdap flight-sql logging metrics observability parquet python rust time-series traces unreal-engine-5
Created about 2 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License

README.md

Micromegas - Scalable Observability

A unified observability platform for logs, metrics, and traces, built for high-volume environments.

Crates.io Apache licensed Build Status

DocumentationRust API DocsGrafana PluginDesign PresentationUnreal Engine Guide


Micromegas is an observability system designed to provide unified insights into complex applications. It allows you to collect and analyze logs, metrics, and traces in a single, scalable database. Our goal is to help you spend less time reproducing bugs and more time understanding and improving your software's quality and performance.

Objectives

  • Empower developers with comprehensive insights, eliminating time-consuming bug reproduction.
  • Quantify issue frequency and severity to allow better priority management.
  • Provide detailed traces based on high-frequency telemetry to enable a deep understanding of every issue.

Key Features

  • 🚀 Unified Observability: Store and query logs, metrics, and traces together to get a complete picture of your application's behavior.
  • ⚡ Low-Overhead Instrumentation: Client-side instrumentation adds minimal overhead, averaging just 20 ns per event in the calling thread.
  • 🌊 High-Frequency Data Collection: Built to handle up to 100,000 events per second from a single instrumented process.
  • ☁️ Scalable & Cloud-Native: The backend is designed to scale horizontally, capable of ingesting data from millions of concurrent processes using object storage (S3) and PostgreSQL.
  • 💰 Cost-Efficient by Design: Keep costs low with tail sampling and on-demand ETL. Raw data is stored cheaply and only processed when you need to query it.
  • 🔍 Powerful SQL Interface: Query your data using a powerful and familiar SQL interface, powered by Apache DataFusion and accessible via Apache Arrow FlightSQL.

How It Works

Micromegas consists of several key components:

  1. Instrumentation Libraries: Lightweight libraries for your applications (available in Rust and Unreal Engine) to send telemetry data.
  2. Ingestion Service (telemetry-ingestion-srv): A scalable service that receives telemetry data and writes it to blob storage.
  3. Analytics Service (flight-sql-srv): A DataFusion-powered service that exposes a FlightSQL endpoint for running queries against your data.
  4. PostgreSQL Database: Stores metadata about processes, streams, and data blocks, keeping the object storage indexable and fast to query.
  5. Object Storage (S3/GCS): Stores all raw telemetry payloads and materialized query results in Parquet format.

Cost-Effectiveness

Unlike traditional observability platforms with opaque and often escalating costs, Micromegas offers a transparent and orders of magnitude more efficient solution. With Micromegas, you can afford to record billions of events without relying heavily on sampling, gaining a complete and accurate picture of your systems. By leveraging your own cloud infrastructure, Micromegas drastically reduces your observability spend, especially at scale.

Discover how Micromegas achieves this unparalleled cost efficiency and compare it with traditional solutions in our detailed Cost Effectiveness document.

Getting Started

To get started with Micromegas, please refer to the Getting Started guide.

Current Status & Roadmap

Our current focus is on aggregate log views - creating comprehensive monitoring capabilities to help track system stability and health.

September 2025

  • Aggregate Log View: Building a new materialized view that aggregates log events by severity, service, and time windows
  • Stability Monitoring: Enhanced dashboards and alerts for tracking error rates, warning trends, and system health metrics

For a detailed history of changes, please see the CHANGELOG.md file.

Contributing

We welcome contributions from the community! If you're interested in helping improve Micromegas, please see our Contribution Guidelines for more details on how to get involved.

Whether it's bug reports, feature requests, or code contributions, your input is valuable.

License

Micromegas is licensed under the Apache License, Version 2.0.

Owner

  • Login: madesroches
  • Kind: user

GitHub Events

Total
  • Create event: 297
  • Release event: 8
  • Issues event: 8
  • Watch event: 14
  • Delete event: 172
  • Issue comment event: 21
  • Push event: 455
  • Pull request review comment event: 2
  • Pull request review event: 125
  • Pull request event: 377
  • Fork event: 4
Last Year
  • Create event: 297
  • Release event: 8
  • Issues event: 8
  • Watch event: 14
  • Delete event: 172
  • Issue comment event: 21
  • Push event: 455
  • Pull request review comment event: 2
  • Pull request review event: 125
  • Pull request event: 377
  • Fork event: 4

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 414
  • Total Committers: 8
  • Avg Commits per committer: 51.75
  • Development Distribution Score (DDS): 0.254
Past Year
  • Commits: 251
  • Committers: 8
  • Avg Commits per committer: 31.375
  • Development Distribution Score (DDS): 0.219
Top Committers
Name Email Commits
Marc-Antoine Desroches m****s@u****m 309
madesroches m****s@g****m 87
Jalal El Mansouri j****i@g****m 5
Julien Kauffmann j****b@g****m 4
jkauffmann-ubi j****n@u****m 3
dependabot[bot] 4****] 3
Julia Naomi n****b 2
Kévin Combriat j****n@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 26
  • Total pull requests: 775
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 6 hours
  • Total issue authors: 2
  • Total pull request authors: 9
  • Average comments per issue: 0.46
  • Average comments per pull request: 0.03
  • Merged pull requests: 706
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 8
  • Pull requests: 434
  • Average time to close issues: 2 days
  • Average time to close pull requests: about 9 hours
  • Issue authors: 2
  • Pull request authors: 8
  • Average comments per issue: 0.38
  • Average comments per pull request: 0.06
  • Merged pull requests: 382
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • madesroches-ubi (16)
  • madesroches (10)
Pull Request Authors
  • madesroches-ubi (570)
  • madesroches (169)
  • jelmansouri (10)
  • jkauffmann-ubi (7)
  • ereOn (6)
  • dependabot[bot] (6)
  • naomijub (3)
  • gaku-sei (2)
  • SalimCosmo (2)
Top Labels
Issue Labels
unreal (6) analytics (1) rust (1)
Pull Request Labels
dependencies (6)

Dependencies

rust/Cargo.toml cargo
rust/tracing/Cargo.toml cargo
  • criterion 0.3 development
  • log 0.4 development
  • cfg-if 1.0
  • chrono 0.4
  • lazy_static 1.4
  • memoffset 0.6
  • raw-cpuid 10.2.0
  • thiserror 1.0
  • thread-id 4.0
  • tracing-proc-macros 0.1.0
  • transit 0.1.0
  • uuid 1.0
  • whoami 1.2
rust/tracing/proc-macros/Cargo.toml cargo
rust/transit/Cargo.toml cargo
  • memoffset 0.6 development
  • anyhow 1.0
  • derive-transit 0.1.0
  • log 0.4
  • serde 1.0
rust/transit/derive/Cargo.toml cargo
rust/analytics/Cargo.toml cargo
  • anyhow 1.0
  • async-recursion 1
  • prost 0.9
  • serde_json 1.0
  • sqlx 0.5
rust/lgn-api-codegen/Cargo.toml cargo
  • insta 1 development
  • anyhow 1
  • askama 0.11
  • bytes 1
  • clap 3.0
  • convert_case 0.5
  • http 0.2
  • indexmap 1
  • lazy_static 1
  • openapiv3 1
  • regex 1
  • rust-format 0.3
  • serde 1
  • serde_json 1
  • serde_yaml 0.8
  • tempfile 3.2.0
  • thiserror 1
  • which 4.2.5
rust/lgn-auth/Cargo.toml cargo
rust/lgn-blob-storage/Cargo.toml cargo
rust/lgn-config/Cargo.toml cargo
  • lgn-test-utils 0.1.0 development
  • serde_json 1 development
  • config 0.13
  • dirs 1
  • once_cell 1
  • regex 1.5
  • serde 1.0
  • thiserror 1
  • toml 0.5.8
rust/lgn-online/Cargo.toml cargo
  • backoff 0.4.0 development
  • prost 0.9 development
  • serial_test 0.6 development
  • anyhow 1
  • async-trait 0.1
  • axum 0.5
  • base64 0.13
  • bytes 1.1
  • directories 4
  • dyn-clone 1
  • futures 0.3
  • http 0.2
  • http-body 0.4
  • http-serde 1.1
  • hyper 0.14
  • hyper-rustls 0.23
  • lgn-auth 0.1.0
  • lgn-config 0.1.0
  • openidconnect 2.2.0
  • percent-encoding 2
  • pin-project 1
  • reqwest 0.11
  • ring 0.16
  • rustls = 0.20.2
  • serde 1.0
  • serde_json 1.0
  • serde_qs 0.9
  • simple_asn1 0.6
  • thiserror 1
  • tokio 1.13
  • tonic 0.6
  • tonic-web 0.2
  • tower 0.4.8
  • tower-http 0.3
  • tower-service 0.3.1
  • url 2.2
  • webbrowser 0.7.1
rust/lgn-telemetry-proto/Cargo.toml cargo
rust/lgn-test-utils/Cargo.toml cargo
rust/telemetry/Cargo.toml cargo
rust/telemetry-admin-cli/Cargo.toml cargo
  • fs_extra 1.2 development
  • anyhow 1.0
  • clap 3.0
  • json 0.12
  • lz4 1.23
  • prost 0.9
  • sqlx 0.5
  • tokio 1.13
rust/telemetry-ingestion-srv/Cargo.toml cargo
rust/telemetry-sink/Cargo.toml cargo
rust/lgn-telemetry-proto/package.json npm
  • rimraf ^3.0.2 development
  • ts-proto ^1.115.1 development
  • typescript ^4.7.2 development
  • @improbable-eng/grpc-web ^0.15.0
  • browser-headers ^0.4.1
  • google-protobuf ^3.20.1
  • long ^5.2.0
  • pnpm ^7.1.7
  • protobufjs ^6.11.3