Skip to main content

Micromegas

Python analytics client for https://github.com/madesroches/micromegas/

📖 Complete Python API Documentation - Comprehensive guide with all methods, examples, and advanced patterns

For a remote or authenticated deployment, use micromegas.connect_with_profile("prod") instead of micromegas.connect() — it reads a named profile from ~/.micromegas/config.json and picks the auth mechanism it names (a static API key, OIDC, or none).

Example usage

Query the 2 most recent log entries from the flightsql service

import datetime
import micromegas

# Connect to local server
client = micromegas.connect()
sql = """
SELECT time, process_id, level, target, msg
FROM log_entries
WHERE level <= 4
AND exe LIKE '%flight%'
ORDER BY time DESC
LIMIT 2
"""

now = datetime.datetime.now(datetime.timezone.utc)
begin = now - datetime.timedelta(minutes=2)
end = now
df = client.query(sql, begin, end)
print(df)
time process_id level target msg
0 2024-10-03 18:17:56.087543714+00:00 1db06afc-1c88-47d1-81b3-f398c5f93616 4 acme_telemetry::trace_middleware response status=200 OK uri=/analytics/query
1 2024-10-03 18:17:53.924037729+00:00 1db06afc-1c88-47d1-81b3-f398c5f93616 4 micromegas_analytics::lakehouse::query query sql=
SELECT time, process_id, level, target, msg
FROM log_entries
WHERE level <= 4
AND exe LIKE '%analytics%'
ORDER BY time DESC
LIMIT 2

Query the 10 slowest top level spans in a trace within a specified time window

import datetime
import micromegas

client = micromegas.connect()

# First find a stream ID
end = datetime.datetime.now(datetime.timezone.utc)
begin = end - datetime.timedelta(hours=1)
streams = client.query_streams(begin, end, limit=1)

if not streams.empty:
    stream_id = streams['stream_id'].iloc[0]
    
    sql = """
    SELECT begin, end, duration, name
    FROM view_instance('thread_spans', '{}')
    WHERE depth=1
    ORDER BY duration DESC
    LIMIT 10
    """.format(stream_id)
    
    spans = client.query(sql, begin, end)
    print(spans)
begin end duration name
0 2024-10-03 18:00:59.308952900+00:00 2024-10-03 18:00:59.371890+00:00 62937100 FEngineLoop::Tick
1 2024-10-03 18:00:58.752476800+00:00 2024-10-03 18:00:58.784389+00:00 31912200 FEngineLoop::Tick
2 2024-10-03 18:00:58.701507300+00:00 2024-10-03 18:00:58.731479500+00:00 29972200 FEngineLoop::Tick
3 2024-10-03 18:00:59.766343100+00:00 2024-10-03 18:00:59.792513700+00:00 26170600 FEngineLoop::Tick
4 2024-10-03 18:00:59.282902100+00:00 2024-10-03 18:00:59.308952500+00:00 26050400 FEngineLoop::Tick
5 2024-10-03 18:00:59.816034500+00:00 2024-10-03 18:00:59.841376900+00:00 25342400 FEngineLoop::Tick
6 2024-10-03 18:00:58.897813100+00:00 2024-10-03 18:00:58.922769700+00:00 24956600 FEngineLoop::Tick
7 2024-10-03 18:00:59.860637+00:00 2024-10-03 18:00:59.885523700+00:00 24886700 FEngineLoop::Tick
8 2024-10-03 18:00:58.630051300+00:00 2024-10-03 18:00:58.654871500+00:00 24820200 FEngineLoop::Tick
9 2024-10-03 18:00:57.952279800+00:00 2024-10-03 18:00:57.977024+00:00 24744200 FEngineLoop::Tick

Quick Start

For a complete getting started guide, see the Python API Documentation.

Schema Reference

For complete schema information including all available tables, columns, and data types, see the Schema Reference.

SQL Reference

The Micromegas analytics service is built on Apache DataFusion. For SQL syntax and functions, see the Apache DataFusion SQL Reference.

Metadata

Release files for micromegas 0.31.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for micromegas 0.31.1
File Size Uploaded
micromegas-0.31.1.tar.gz 69.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for micromegas 0.31.1
File Interpreter ABI Platform
micromegas-0.31.1-py3-none-any.whl Python 3 none any Details

Total release size: 149.7 kB

Release files / micromegas-0.31.1.tar.gz

Download URL micromegas-0.31.1.tar.gz
Size 69.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e6675522f2f48bbbae20ba3f18d1daba8f1169dfc459d2b575e3023247fc46f3
BLAKE2b-256 checksum
How to use checksums
bb370f9c603e33cc0a0c5748b45d8562f5ee152f0a0d5466ff97a03696263122
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.2 CPython/3.12.3 Linux/6.18.33.2-microsoft-standard-WSL2

Release files / micromegas-0.31.1-py3-none-any.whl

Download URL micromegas-0.31.1-py3-none-any.whl
Size 80.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c1eeea3ddf82c27e2082ab6de1445818cef8813f489633f1e1dd676fb77bf360
BLAKE2b-256 checksum
How to use checksums
a1f0f15f227b20dee54a03d9d6c91cc24e4d7b05f67d052f2f84b30ae64dc52c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.2 CPython/3.12.3 Linux/6.18.33.2-microsoft-standard-WSL2

Release history Release notifications | RSS feed

This release

0.31.1 This release

2 release files

0.31.0

2 release files

0.29.0

2 release files

0.27.0

2 release files

0.26.0

2 release files

0.25.0

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.17.0

2 release files

0.16.1

2 release files

0.15.3

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page