...

Source file src/go.opencensus.io/stats/view/view_measure_test.go

Documentation: go.opencensus.io/stats/view

     1  package view
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	"go.opencensus.io/stats"
     8  )
     9  
    10  func TestMeasureFloat64AndInt64(t *testing.T) {
    11  	// Recording through both a Float64Measure and Int64Measure with the
    12  	// same name should work.
    13  
    14  	im := stats.Int64("TestMeasureFloat64AndInt64", "", stats.UnitDimensionless)
    15  	fm := stats.Float64("TestMeasureFloat64AndInt64", "", stats.UnitDimensionless)
    16  
    17  	if im == nil || fm == nil {
    18  		t.Fatal("Error creating Measures")
    19  	}
    20  
    21  	v1 := &View{
    22  		Name:        "TestMeasureFloat64AndInt64/v1",
    23  		Measure:     im,
    24  		Aggregation: Sum(),
    25  	}
    26  	v2 := &View{
    27  		Name:        "TestMeasureFloat64AndInt64/v2",
    28  		Measure:     fm,
    29  		Aggregation: Sum(),
    30  	}
    31  	Register(v1, v2)
    32  
    33  	stats.Record(context.Background(), im.M(5))
    34  	stats.Record(context.Background(), fm.M(2.2))
    35  
    36  	d1, _ := RetrieveData(v1.Name)
    37  	d2, _ := RetrieveData(v2.Name)
    38  
    39  	sum1 := d1[0].Data.(*SumData)
    40  	sum2 := d2[0].Data.(*SumData)
    41  
    42  	// We expect both views to return 7.2, as though we recorded on a single measure.
    43  
    44  	if got, want := sum1.Value, 7.2; got != want {
    45  		t.Errorf("sum1 = %v; want %v", got, want)
    46  	}
    47  	if got, want := sum2.Value, 7.2; got != want {
    48  		t.Errorf("sum2 = %v; want %v", got, want)
    49  	}
    50  }
    51  

View as plain text