lunatic-solutions / lunatic-rs

This library contains higher level Rust wrappers for low level Lunatic syscalls.
274 stars 31 forks source link

feat: add metrics host functions #112

Open tqwewe opened 1 year ago

tqwewe commented 1 year ago

This PR implements guest functionality for metrics including tracing, counters, and histograms. It is dependent on https://github.com/lunatic-solutions/lunatic/pull/202.

Macros are added for logging, including span!, info!, warn!, error!, trace!. These macros are modified directly from the rust tracing crate, and the syntax is essentially identical.

Additionally, there are new types for creating metrics including:

The best place to see usage of all of it is in examples/metrics.rs.

Running lunatic with --jaeger <url> will attempt to push tracing to a jaeger endpoint. Running lunatic with --prometheus <url> will make the runtime serve metrics available at http://localhost:9927/metrics