Skip to content

Grryum/zio-metrics-connectors

 
 

Repository files navigation

ZIO Metrics Connectors

ZIO Metrics Connectors provides integration between ZIO and industry-leading monitoring and observability systems.

Development CI Badge Sonatype Releases Sonatype Snapshots javadoc ZIO Metrics Connectors

                                                                                                                                                        
    ┌─────────────────────┐           client -> server           ┌─────────────────────┐                   
    │                     ◀━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫                     │                   
    │     ZMX Server      │                                      │     ZMX Client      │                   
    │                     ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━▶                     │                   
    └─────────────────────┘           server -> client           └─────────────────────┘                   
              ┃                                                             ┃                              
                               (ZmxProtocol which is based                             
              ┃                 on the Redis RESP protocol)                 ┃                              
                                                                                                                     
              ┃                                                             ┃                              
                                                                                                          
              ▼                                                             ▼                              
 ┌───────────────────────────────────────────────┐    ┌─────────────────────────────────────────────────────┐
 │- Respond to Command from client               │    │- Send Command to server                             │
 │- User specified port server is to run on      │    │- User specified port server is running on           │
 │- Always run on localhost where ZIO is running │    │- Client implementations planned:                    │
 │- Supported Commands Planned:                  │    │    - CLI                                            │
 │    - Fiber Dump                               │    │    - Text editor / IDE                              │
 │    - Metrics                                  │    └─────────────────────────────────────────────────────┘
 │        - prometheus                           │                                                           
 │    - Test (Just replys with a test message)   │                                                                        
 └───────────────────────────────────────────────┘                                             

We want to give users the option to run a lightweight server local to where their ZIO app is running that supports a few commands to aid monitoring and metrics of their application.

Commands

Commands to support:

  • Fiber Dump - Fiber dump of all fibers
  • Metrics
    • stdout - prints metrics to stdout
    • prometheus - pushes metrics to prometheus
    • prometheus & other metrics integrations supported by utilizing zio-metrics
  • Test
    • Server replies with a test message - used to test server working

Client

Clients send commands to the server and wait for a response. Initially we are planning to support a CLI tool as the client but do plan to support some level of IDE/Text editor support to aid debugging.

Protocol

The protocol used to communicate between the client and server is a cut down version of the RESP protocol that Redis uses. For more information on this protocol please see the specification docs: Redis Protocol specification – Redis

Choosing this protocol enables us to have something simple to implement without any external dependencies being introduced and thereby keeping the client and server lightweight.

Documentation

Learn more on the ZIO Metrics Connectors homepage!

Contributing

For the general guidelines, see ZIO contributor's guide.

Code of Conduct

See the Code of Conduct

Support

Come chat with us on Badge-Discord.

License

License

About

Monitoring, Metrics and Diagnostics for ZIO

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scala 100.0%