mirror of https://github.com/knative/pkg.git
Renaming Importer to Source (#662)
* source stats reporter... should be used by well-behaved sources * public fields * moving serialization/deserialization of metrics and logging maps to pkg * nits * adding UT * same order * updates * sock-puppet * unregistration problem? * removing base64 encoding * removing TODO * removing config changes... done in another PR * to properly address the comment * changing importer to source
This commit is contained in:
parent
b6f14473ea
commit
62d3aa64b5
|
@ -41,8 +41,8 @@ const (
|
|||
testTrigger = "test-trigger"
|
||||
testFilterType = "test-filtertype"
|
||||
testFilterSource = "test-filtersource"
|
||||
testImporter = "test-importer"
|
||||
testImporterResourceGroup = "test-importer-rg"
|
||||
testSource = "test-source"
|
||||
testSourceResourceGroup = "test-source-rg"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -63,8 +63,8 @@ var (
|
|||
triggerKey = tag.Tag{Key: mustNewTagKey(metricskey.LabelTriggerName), Value: testTrigger}
|
||||
filterTypeKey = tag.Tag{Key: mustNewTagKey(metricskey.LabelFilterType), Value: testFilterType}
|
||||
filterSourceKey = tag.Tag{Key: mustNewTagKey(metricskey.LabelFilterSource), Value: testFilterSource}
|
||||
importerKey = tag.Tag{Key: mustNewTagKey(metricskey.LabelImporterName), Value: testImporter}
|
||||
importerResourceGroupKey = tag.Tag{Key: mustNewTagKey(metricskey.LabelImporterResourceGroup), Value: testImporterResourceGroup}
|
||||
sourceKey = tag.Tag{Key: mustNewTagKey(metricskey.LabelSourceName), Value: testSource}
|
||||
sourceResourceGroupKey = tag.Tag{Key: mustNewTagKey(metricskey.LabelSourceResourceGroup), Value: testSourceResourceGroup}
|
||||
eventTypeKey = tag.Tag{Key: mustNewTagKey(metricskey.LabelEventType), Value: testEventType}
|
||||
eventSourceKey = tag.Tag{Key: mustNewTagKey(metricskey.LabelEventSource), Value: testEventSource}
|
||||
|
||||
|
@ -72,7 +72,7 @@ var (
|
|||
|
||||
brokerTestTags = []tag.Tag{nsKey, brokerKey, eventTypeKey, eventSourceKey}
|
||||
triggerTestTags = []tag.Tag{nsKey, triggerKey, brokerKey, filterTypeKey, filterSourceKey}
|
||||
importerTestTags = []tag.Tag{nsKey, importerKey, importerResourceGroupKey, eventTypeKey, eventSourceKey}
|
||||
sourceTestTags = []tag.Tag{nsKey, sourceKey, sourceResourceGroupKey, eventTypeKey, eventSourceKey}
|
||||
)
|
||||
|
||||
func mustNewTagKey(s string) tag.Key {
|
||||
|
|
|
@ -27,8 +27,8 @@ const (
|
|||
// ResourceTypeKnativeBroker is the Stackdriver resource type for Knative Brokers.
|
||||
ResourceTypeKnativeBroker = "knative_broker"
|
||||
|
||||
// ResourceTypeKnativeImporter is the Stackdriver resource type for Knative Importers.
|
||||
ResourceTypeKnativeImporter = "knative_importer"
|
||||
// ResourceTypeKnativeSource is the Stackdriver resource type for Knative Sources.
|
||||
ResourceTypeKnativeSource = "knative_source"
|
||||
|
||||
// LabelTriggerName is the label for the name of the Trigger.
|
||||
LabelTriggerName = "trigger_name"
|
||||
|
@ -48,11 +48,11 @@ const (
|
|||
// LabelFilterSource is the label for the Trigger filter attribute "source".
|
||||
LabelFilterSource = "filter_source"
|
||||
|
||||
// LabelImporterName is the label for the name of the Importer.
|
||||
LabelImporterName = "importer_name"
|
||||
// LabelSourceName is the label for the name of the Source.
|
||||
LabelSourceName = "source_name"
|
||||
|
||||
// LabelImporterResourceGroup is the name of the Importer CRD.
|
||||
LabelImporterResourceGroup = "importer_resource_group"
|
||||
// LabelSourceResourceGroup is the name of the Source CRD.
|
||||
LabelSourceResourceGroup = "source_resource_group"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -89,19 +89,19 @@ var (
|
|||
"knative.dev/eventing/broker/event_count",
|
||||
)
|
||||
|
||||
// KnativeImporterLabels stores the set of resource labels for resource type knative_importer.
|
||||
KnativeImporterLabels = sets.NewString(
|
||||
// KnativeSourceLabels stores the set of resource labels for resource type knative_source.
|
||||
KnativeSourceLabels = sets.NewString(
|
||||
LabelProject,
|
||||
LabelLocation,
|
||||
LabelClusterName,
|
||||
LabelNamespaceName,
|
||||
LabelImporterName,
|
||||
LabelImporterResourceGroup,
|
||||
LabelSourceName,
|
||||
LabelSourceResourceGroup,
|
||||
)
|
||||
|
||||
// KnativeImporterMetrics stores a set of metric types which are supported
|
||||
// by resource type knative_importer.
|
||||
KnativeImporterMetrics = sets.NewString(
|
||||
"knative.dev/eventing/importer/event_count",
|
||||
// KnativeSourceMetrics stores a set of metric types which are supported
|
||||
// by resource type knative_source.
|
||||
KnativeSourceMetrics = sets.NewString(
|
||||
"knative.dev/eventing/source/event_count",
|
||||
)
|
||||
)
|
||||
|
|
|
@ -44,13 +44,13 @@ type KnativeBroker struct {
|
|||
BrokerName string
|
||||
}
|
||||
|
||||
type KnativeImporter struct {
|
||||
type KnativeSource struct {
|
||||
Project string
|
||||
Location string
|
||||
ClusterName string
|
||||
NamespaceName string
|
||||
ImporterName string
|
||||
ImporterResourceGroup string
|
||||
SourceName string
|
||||
SourceResourceGroup string
|
||||
}
|
||||
|
||||
func (kt *KnativeTrigger) MonitoredResource() (resType string, labels map[string]string) {
|
||||
|
@ -76,16 +76,16 @@ func (kb *KnativeBroker) MonitoredResource() (resType string, labels map[string]
|
|||
return metricskey.ResourceTypeKnativeBroker, labels
|
||||
}
|
||||
|
||||
func (ki *KnativeImporter) MonitoredResource() (resType string, labels map[string]string) {
|
||||
func (ki *KnativeSource) MonitoredResource() (resType string, labels map[string]string) {
|
||||
labels = map[string]string{
|
||||
metricskey.LabelProject: ki.Project,
|
||||
metricskey.LabelLocation: ki.Location,
|
||||
metricskey.LabelClusterName: ki.ClusterName,
|
||||
metricskey.LabelNamespaceName: ki.NamespaceName,
|
||||
metricskey.LabelImporterName: ki.ImporterName,
|
||||
metricskey.LabelImporterResourceGroup: ki.ImporterResourceGroup,
|
||||
metricskey.LabelSourceName: ki.SourceName,
|
||||
metricskey.LabelSourceResourceGroup: ki.SourceResourceGroup,
|
||||
}
|
||||
return metricskey.ResourceTypeKnativeImporter, labels
|
||||
return metricskey.ResourceTypeKnativeSource, labels
|
||||
}
|
||||
|
||||
func GetKnativeBrokerMonitoredResource(
|
||||
|
@ -137,24 +137,24 @@ func GetKnativeTriggerMonitoredResource(
|
|||
return newTags, kt
|
||||
}
|
||||
|
||||
func GetKnativeImporterMonitoredResource(
|
||||
func GetKnativeSourceMonitoredResource(
|
||||
v *view.View, tags []tag.Tag, gm *gcpMetadata) ([]tag.Tag, monitoredresource.Interface) {
|
||||
tagsMap := getTagsMap(tags)
|
||||
ki := &KnativeImporter{
|
||||
ki := &KnativeSource{
|
||||
// The first three resource labels are from metadata.
|
||||
Project: gm.project,
|
||||
Location: gm.location,
|
||||
ClusterName: gm.cluster,
|
||||
// The rest resource labels are from metrics labels.
|
||||
NamespaceName: valueOrUnknown(metricskey.LabelNamespaceName, tagsMap),
|
||||
ImporterName: valueOrUnknown(metricskey.LabelImporterName, tagsMap),
|
||||
ImporterResourceGroup: valueOrUnknown(metricskey.LabelImporterResourceGroup, tagsMap),
|
||||
SourceName: valueOrUnknown(metricskey.LabelSourceName, tagsMap),
|
||||
SourceResourceGroup: valueOrUnknown(metricskey.LabelSourceResourceGroup, tagsMap),
|
||||
}
|
||||
|
||||
var newTags []tag.Tag
|
||||
for _, t := range tags {
|
||||
// Keep the metrics labels that are not resource labels
|
||||
if !metricskey.KnativeImporterLabels.Has(t.Key.Name()) {
|
||||
if !metricskey.KnativeSourceLabels.Has(t.Key.Name()) {
|
||||
newTags = append(newTags, t)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ import (
|
|||
// 2) The backend is not Stackdriver.
|
||||
// 3) The backend is Stackdriver and it is allowed to use custom metrics.
|
||||
// 4) The backend is Stackdriver and the metric is one of the built-in metrics: "knative_revision", "knative_broker",
|
||||
// "knative_trigger", "knative_importer".
|
||||
// "knative_trigger", "knative_source".
|
||||
func Record(ctx context.Context, ms stats.Measurement) {
|
||||
mc := getCurMetricsConfig()
|
||||
|
||||
|
@ -57,7 +57,7 @@ func Record(ctx context.Context, ms stats.Measurement) {
|
|||
isServingBuiltIn := metricskey.KnativeRevisionMetrics.Has(metricType)
|
||||
isEventingBuiltIn := metricskey.KnativeTriggerMetrics.Has(metricType) ||
|
||||
metricskey.KnativeBrokerMetrics.Has(metricType) ||
|
||||
metricskey.KnativeImporterMetrics.Has(metricType)
|
||||
metricskey.KnativeSourceMetrics.Has(metricType)
|
||||
|
||||
if isServingBuiltIn || isEventingBuiltIn {
|
||||
stats.Record(ctx, ms)
|
||||
|
|
|
@ -85,13 +85,13 @@ func NewStatsReporter() (StatsReporter, error) {
|
|||
}
|
||||
r.eventTypeTagKey = eventTypeTag
|
||||
|
||||
nameTag, err := tag.NewKey(metricskey.LabelImporterName)
|
||||
nameTag, err := tag.NewKey(metricskey.LabelSourceName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
r.sourceNameTagKey = nameTag
|
||||
|
||||
resourceGroupTag, err := tag.NewKey(metricskey.LabelImporterResourceGroup)
|
||||
resourceGroupTag, err := tag.NewKey(metricskey.LabelSourceResourceGroup)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ func TestStatsReporter(t *testing.T) {
|
|||
Namespace: "testns",
|
||||
EventType: "dev.knative.event",
|
||||
EventSource: "unit-test",
|
||||
Name: "testimporter",
|
||||
Name: "testsource",
|
||||
ResourceGroup: "testresourcegroup",
|
||||
}
|
||||
|
||||
|
@ -55,8 +55,8 @@ func TestStatsReporter(t *testing.T) {
|
|||
metricskey.LabelNamespaceName: "testns",
|
||||
metricskey.LabelEventType: "dev.knative.event",
|
||||
metricskey.LabelEventSource: "unit-test",
|
||||
metricskey.LabelImporterName: "testimporter",
|
||||
metricskey.LabelImporterResourceGroup: "testresourcegroup",
|
||||
metricskey.LabelSourceName: "testsource",
|
||||
metricskey.LabelSourceResourceGroup: "testresourcegroup",
|
||||
metricskey.LabelResponseCode: "202",
|
||||
metricskey.LabelResponseCodeClass: "2xx",
|
||||
}
|
||||
|
|
|
@ -87,10 +87,10 @@ func getMonitoredResourceFunc(metricTypePrefix string, gm *gcpMetadata) func(v *
|
|||
return GetKnativeBrokerMonitoredResource(view, tags, gm)
|
||||
} else if metricskey.KnativeTriggerMetrics.Has(metricType) {
|
||||
return GetKnativeTriggerMonitoredResource(view, tags, gm)
|
||||
} else if metricskey.KnativeImporterMetrics.Has(metricType) {
|
||||
return GetKnativeImporterMonitoredResource(view, tags, gm)
|
||||
} else if metricskey.KnativeSourceMetrics.Has(metricType) {
|
||||
return GetKnativeSourceMonitoredResource(view, tags, gm)
|
||||
}
|
||||
// Unsupported metric by knative_revision, knative_broker, knative_trigger, and knative_importer, use "global" resource type.
|
||||
// Unsupported metric by knative_revision, knative_broker, knative_trigger, and knative_source, use "global" resource type.
|
||||
return getGlobalMonitoredResource(view, tags)
|
||||
}
|
||||
}
|
||||
|
@ -105,7 +105,7 @@ func getMetricTypeFunc(metricTypePrefix, customMetricTypePrefix string) func(vie
|
|||
inServing := metricskey.KnativeRevisionMetrics.Has(metricType)
|
||||
inEventing := metricskey.KnativeBrokerMetrics.Has(metricType) ||
|
||||
metricskey.KnativeTriggerMetrics.Has(metricType) ||
|
||||
metricskey.KnativeImporterMetrics.Has(metricType)
|
||||
metricskey.KnativeSourceMetrics.Has(metricType)
|
||||
if inServing || inEventing {
|
||||
return metricType
|
||||
}
|
||||
|
|
|
@ -89,15 +89,15 @@ var (
|
|||
metricName: "event_dispatch_latencies",
|
||||
}}
|
||||
|
||||
supportedEventingImporterMetricsTestCases = []struct {
|
||||
supportedEventingSourceMetricsTestCases = []struct {
|
||||
name string
|
||||
domain string
|
||||
component string
|
||||
metricName string
|
||||
}{{
|
||||
name: "importer metric",
|
||||
name: "source metric",
|
||||
domain: eventingDomain,
|
||||
component: "importer",
|
||||
component: "source",
|
||||
metricName: "event_count",
|
||||
}}
|
||||
|
||||
|
@ -248,8 +248,8 @@ func TestGetMonitoredResourceFunc_UseKnativeTrigger(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestGetMonitoredResourceFunc_UseKnativeImporter(t *testing.T) {
|
||||
for _, testCase := range supportedEventingImporterMetricsTestCases {
|
||||
func TestGetMonitoredResourceFunc_UseKnativeSource(t *testing.T) {
|
||||
for _, testCase := range supportedEventingSourceMetricsTestCases {
|
||||
testView = &view.View{
|
||||
Description: "Test View",
|
||||
Measure: stats.Int64(testCase.metricName, "Test Measure", stats.UnitDimensionless),
|
||||
|
@ -258,9 +258,9 @@ func TestGetMonitoredResourceFunc_UseKnativeImporter(t *testing.T) {
|
|||
}
|
||||
mrf := getMonitoredResourceFunc(path.Join(testCase.domain, testCase.component), &testGcpMetadata)
|
||||
|
||||
newTags, monitoredResource := mrf(testView, importerTestTags)
|
||||
newTags, monitoredResource := mrf(testView, sourceTestTags)
|
||||
gotResType, labels := monitoredResource.MonitoredResource()
|
||||
wantedResType := "knative_importer"
|
||||
wantedResType := "knative_source"
|
||||
if gotResType != wantedResType {
|
||||
t.Fatalf("MonitoredResource=%v, want %v", gotResType, wantedResType)
|
||||
}
|
||||
|
@ -276,13 +276,13 @@ func TestGetMonitoredResourceFunc_UseKnativeImporter(t *testing.T) {
|
|||
if !ok || got != testNS {
|
||||
t.Errorf("expected label %v with value %v, got: %v", metricskey.LabelNamespaceName, testNS, got)
|
||||
}
|
||||
got, ok = labels[metricskey.LabelImporterName]
|
||||
if !ok || got != testImporter {
|
||||
t.Errorf("expected label %v with value %v, got: %v", metricskey.LabelImporterName, testImporter, got)
|
||||
got, ok = labels[metricskey.LabelSourceName]
|
||||
if !ok || got != testSource {
|
||||
t.Errorf("expected label %v with value %v, got: %v", metricskey.LabelSourceName, testSource, got)
|
||||
}
|
||||
got, ok = labels[metricskey.LabelImporterResourceGroup]
|
||||
if !ok || got != testImporterResourceGroup {
|
||||
t.Errorf("expected label %v with value %v, got: %v", metricskey.LabelImporterResourceGroup, testImporterResourceGroup, got)
|
||||
got, ok = labels[metricskey.LabelSourceResourceGroup]
|
||||
if !ok || got != testSourceResourceGroup {
|
||||
t.Errorf("expected label %v with value %v, got: %v", metricskey.LabelSourceResourceGroup, testSourceResourceGroup, got)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ func (c *CoveragePercentages) GetAndRemoveResourceValue(resource string) float64
|
|||
// IsFailedBuild utility method to indicate if CoveragePercentages indicate
|
||||
// values of a failed build.
|
||||
func (c *CoveragePercentages) IsFailedBuild() bool {
|
||||
return math.Abs(c.ResourceCoverages["Overall"] - 0) == 0
|
||||
return math.Abs(c.ResourceCoverages["Overall"]-0) == 0
|
||||
}
|
||||
|
||||
// CalculateTypeCoverage calculates aggregate coverage values based on provided []TypeCoverage
|
||||
|
|
Loading…
Reference in New Issue