go-libp2p-resource-manager/obs/grafana-dashboards
2022-07-01 12:02:11 -07:00
..
README.md Add Grafana dashboard 2022-07-01 12:02:11 -07:00
resource-manager.json Use bytes rather than decbytes (power of 2) 2022-07-01 12:02:11 -07:00

Ready to go Grafana Dashboard

Here are some prebuilt dashboards that you can add to your Grafana instance. To import follow the Grafana docs here

Setup

To make sure you're emitting the correct metrics you'll have to hook up the Opencensus views that stats.go exports. For Prometheus this looks like:

import (
    // ...
	ocprom "contrib.go.opencensus.io/exporter/prometheus"

	rcmgr "github.com/libp2p/go-libp2p-resource-manager"
	rcmgrObs "github.com/libp2p/go-libp2p-resource-manager/obs"

	"github.com/prometheus/client_golang/prometheus"
	"go.opencensus.io/stats/view"
)

    func SetupResourceManager() (network.ResourceManager, error) {
        // Hook up the trace reporter metrics
        view.Register(rcmgrObs.DefaultViews...)
        ocprom.NewExporter(ocprom.Options{
            Registry:  prometheus.DefaultRegisterer.(*prometheus.Registry),
            Namespace: "rcmgr_trace_metrics",
        })

        str, err := rcmgrObs.NewStatsTraceReporter()
        if err != nil {
            return nil, err
        }

        return rcmgr.NewResourceManager(limiter, rcmgr.WithTraceReporter(str))
    }

It should be fairly similar for other exporters. See the OpenCensus docs to see how to export to another exporter.