https://github.com/r0mdau/quicmetrics
Receive (QUIC) and aggregate fleeting metrics (from FaaS)
https://github.com/r0mdau/quicmetrics
fleeting go golang metrics prometheus quic quic-server
Last synced: 5 months ago
JSON representation
Receive (QUIC) and aggregate fleeting metrics (from FaaS)
- Host: GitHub
- URL: https://github.com/r0mdau/quicmetrics
- Owner: r0mdau
- License: apache-2.0
- Created: 2022-11-14T02:22:04.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-19T15:45:30.000Z (about 3 years ago)
- Last Synced: 2024-06-21T19:55:07.221Z (almost 2 years ago)
- Topics: fleeting, go, golang, metrics, prometheus, quic, quic-server
- Language: Go
- Homepage:
- Size: 60.5 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# quicmetrics
Receive and aggregate fleeting metrics (from FaaS).
This proof of concept uses:
- [QUIC](https://peering.google.com/#/learn-more/quic) without http3 as a transport protocol
- statsd string format for metrics
In the `client/main.go` example, we send multiple metric counter, to confirm it is summed in the prometheus endpoint output.
Library used:
- [quic-go](https://github.com/lucas-clemente/quic-go), a QUIC implementation in pure go
- [go-dogstatsd-parser](https://github.com/narqo/go-dogstatsd-parser), a standalone parser for DogStatsD metrics protocol
- [prometheus/client_golang](github.com/prometheus/client_golang), the Go client library for prometheus
- [opentelemetry-go](https://github.com/open-telemetry/opentelemetry-go), the Go implementation of OpenTelemetry
## Getting started
Launch the server
go run main.go
Send sample metrics
go run client/main.go
View prometheus metrics
curl localhost:2223/metrics