Skip to content
This repository has been archived by the owner on Oct 3, 2023. It is now read-only.

Can't see any metrics after running example code #269

Open
simplylizz opened this issue Jun 27, 2020 · 2 comments
Open

Can't see any metrics after running example code #269

simplylizz opened this issue Jun 27, 2020 · 2 comments
Labels
bug Something isn't working

Comments

@simplylizz
Copy link

What version of the Exporter are you using?

v0.13.1

What version of OpenCensus are you using?

v0.22.4

What version of Go are you using?

1.14

What did you do?

Ran a slightly modified code from the examples:

package main

import (
	"context"
	"fmt"
	"log"
	"time"

	"contrib.go.opencensus.io/exporter/stackdriver"
	"contrib.go.opencensus.io/exporter/stackdriver/monitoredresource"
	"go.opencensus.io/stats"
	"go.opencensus.io/stats/view"
)

// Create measures. The program will record measures for the size of
// processed videos and the nubmer of videos marked as spam.
var videoSize = stats.Int64("cwexample.com/measure/video_size", "size of processed videos", stats.UnitBytes)

func main() {
	ctx := context.Background()

	// Collected view data will be reported to Stackdriver Monitoring API
	// via the Stackdriver exporter.
	//
	// In order to use the Stackdriver exporter, enable Stackdriver Monitoring API
	// at https://console.cloud.google.com/apis/dashboard.
	//
	// Once API is enabled, you can use Google Application Default Credentials
	// to setup the authorization.
	// See https://developers.google.com/identity/protocols/application-default-credentials
	// for more details.
	se, err := stackdriver.NewExporter(stackdriver.Options{
		ProjectID:         "cw-dev-data-001", // Google Cloud Console project ID for stackdriver.
		MonitoredResource: monitoredresource.Autodetect(),
	})
	if err != nil {
		log.Fatal(err)
	}
	err = se.StartMetricsExporter()
	if err != nil {
		log.Fatal(err)
	}
	defer se.StopMetricsExporter()

	// Create view to see the processed video size cumulatively.
	// Subscribe will allow view data to be exported.
	// Once no longer need, you can unsubscribe from the view.
	if err := view.Register(&view.View{
		Name:        "cwexample.com/views/video_size_cum",
		Description: "processed video size over time",
		Measure:     videoSize,
		Aggregation: view.Distribution(1<<16, 1<<32),
	}); err != nil {
		log.Fatalf("Cannot subscribe to the view: %v", err)
	}

	processVideo(ctx)

	// Wait for a duration longer than reporting duration to ensure the stats
	// library reports the collected data.
	fmt.Println("Wait longer than the reporting duration...")
	time.Sleep(1 * time.Minute)
}

func processVideo(ctx context.Context) {
	// Do some processing and record stats.
	stats.Record(ctx, videoSize.M(25648))
}

What did you expect to see?

Error or related metrics in metrics explorer.

What did you see instead?

Neither error, nor metrics (tried to search by 'cwexample' in the stackdriver's metrics explorer).

@simplylizz simplylizz added the bug Something isn't working label Jun 27, 2020
@simplylizz
Copy link
Author

Ok, finally I managed to get metrics written: 1 - there was a typo in the project name (maybe also an issue with permissions, but not sure), 2 - they were written with custom.googleapis.com/opencensus/ prefix, what's also slightly unexpected, since the example has my.org/<...> name. Also, I didn't get stable results yet, though I think my point regarding error is still valid.

@james-bebbington
Copy link
Contributor

james-bebbington commented Jun 30, 2020

Appreciate this is not the best setup experience. Having said that, it would be difficult to generate any kind of error on the Back End side in this case (Metrics Explorer) as we failed to write anything to Cloud Monitoring. You should see errors in the client logs though, and you can use the OnError option to report these errors however you like, see:

OnError func(err error)

Admittedly this needs to be documented a lot better. We will endeavour to do a better job of that in OpenTelemetry (currently in beta / still WIP)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants