Wavefront
Introduction
Wavefront is a cloud-native monitoring and analytics platform that delivers 3D observability by ingesting, analyzing and visualizing metrics, traces, and histograms from distributed applications, containers, microservices, and any clouds infrastructure. To learn more, check out Wavefront distributed tracing demo here.
The Go exporter is available at https://github.com/wavefrontHQ/opencensus-exporter
Requirements
You’ll need a Wavefront account. Sign-up here.
Creating the exporter
The exporter uses Wavefront SDKs to connect to Wavefront.
Instructions to use the Go SDK are here.
package main
import (
"log"
"github.com/wavefronthq/opencensus-exporter/wavefront"
"github.com/wavefronthq/wavefront-sdk-go/senders"
"go.opencensus.io/stats/view"
)
func main() {
sender, _ := senders.NewProxySender(&senders.ProxyConfiguration{})
wf, err := wavefront.NewExporter(sender,/*options*/)
if err != nil {
log.Fatalf("Failed to create Wavefront Exporter: %v",err)
}
// Flush before main exits
defer func() {
exporter.Stop()
sender.Close()
}()
// Register it as a metrics exporter
view.RegisterExporter(wf)
}
package main
import (
"log"
"github.com/wavefronthq/opencensus-exporter/wavefront"
"github.com/wavefronthq/wavefront-sdk-go/senders"
"go.opencensus.io/trace"
)
func main() {
sender, _ := senders.NewProxySender(&senders.ProxyConfiguration{})
wf, err := wavefront.NewExporter(sender,/*options*/)
if err != nil {
log.Fatalf("Failed to create Wavefront Exporter: %v",err)
}
// Flush before main exits
defer func() {
exporter.Stop()
sender.Close()
}()
// Register it as a trace exporter
trace.RegisterExporter(wf)
}
package main
import (
"log"
"github.com/wavefronthq/opencensus-exporter/wavefront"
"github.com/wavefronthq/wavefront-sdk-go/senders"
"go.opencensus.io/stats/view"
"go.opencensus.io/trace"
)
func main() {
sender, _ := senders.NewProxySender(&senders.ProxyConfiguration{})
wf, err := wavefront.NewExporter(sender,/*options*/)
if err != nil {
log.Fatalf("Failed to create Wavefront Exporter: %v",err)
}
// Flush before main exits
defer func() {
exporter.Stop()
sender.Close()
}()
// Register it as a metrics exporter
view.RegisterExporter(wf)
// Register it as a trace exporter
trace.RegisterExporter(wf)
}
Viewing your Metrics
Learn more at Wavefront Docs - Getting Started
Viewing your Traces
Learn more at Wavefront Docs - Tracing UI Overview