Skip to main content

Python analytics client for the Micromegas observability platform

Project description

Micromegas

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

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

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.

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

micromegas-0.22.0.tar.gz (33.3 kB view details)

Uploaded Source

Built Distribution

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

micromegas-0.22.0-py3-none-any.whl (37.2 kB view details)

Uploaded Python 3

File details

Details for the file micromegas-0.22.0.tar.gz.

File metadata

  • Download URL: micromegas-0.22.0.tar.gz
  • Upload date:
  • Size: 33.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for micromegas-0.22.0.tar.gz
Algorithm Hash digest
SHA256 ae0105c4709225e3f94806bec0608db73911c5293b420acd7ee11c0c51ad9820
MD5 7be5c3dcd038dbadaf43c945f400f8c5
BLAKE2b-256 0f01cdc3a5935b65a5621e3fdd4b1bec69e41b8b0ca75a1f5277c9813b533699

See more details on using hashes here.

File details

Details for the file micromegas-0.22.0-py3-none-any.whl.

File metadata

  • Download URL: micromegas-0.22.0-py3-none-any.whl
  • Upload date:
  • Size: 37.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for micromegas-0.22.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eb26eb0468e5abcd453d59ef344fd1d1f67e392951304e67950b355909210d32
MD5 748c7dfd2c245aecd610b8f635638291
BLAKE2b-256 10b5677e3e36bcea4d2891809ad3dbfe35afc0627e04f7a7a44c05f72df42e3e

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