Skip to content

Commit

Permalink
feat(api-usage-monitoring-filter): use {no-match} for not matched pat…
Browse files Browse the repository at this point in the history
…hs (instead of <unknown>) (zalando#949)

Signed-off-by: Maxim Tschumak <maxim.tschumak@gmail.com>
  • Loading branch information
maxim-tschumak committed Feb 11, 2019
1 parent 3b8f034 commit 4f0e734
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 9 deletions.
4 changes: 2 additions & 2 deletions filters/apiusagemonitoring/filter_clientmetrics_test.go
Expand Up @@ -52,7 +52,7 @@ func Test_Filter_ClientMetrics_NoMatchingPath_RealmIsKnown(t *testing.T) {
clientTrackingPattern: s(".*"),
header: headerUsersJoe,
url: "https://www.example.com/non/configured/path/template",
expectedEndpointMetricPrefix: "apiUsageMonitoring.custom.my_app.<unknown>.GET.<unknown>.*.*.",
expectedEndpointMetricPrefix: "apiUsageMonitoring.custom.my_app.<unknown>.GET.{no-match}.*.*.",
expectedClientMetricPrefix: "apiUsageMonitoring.custom.my_app.<unknown>.*.*.users.<unknown>.",
})
}
Expand All @@ -64,7 +64,7 @@ func Test_Filter_ClientMetrics_NoMatchingPath_RealmIsUnknown(t *testing.T) {
clientTrackingPattern: s(".*"),
header: headerUsersJoe,
url: "https://www.example.com/non/configured/path/template",
expectedEndpointMetricPrefix: "apiUsageMonitoring.custom.my_app.<unknown>.GET.<unknown>.*.*.",
expectedEndpointMetricPrefix: "apiUsageMonitoring.custom.my_app.<unknown>.GET.{no-match}.*.*.",
expectedClientMetricPrefix: "apiUsageMonitoring.custom.my_app.<unknown>.*.*.<unknown>.<unknown>.",
})
}
Expand Down
10 changes: 5 additions & 5 deletions filters/apiusagemonitoring/filter_endpointmetrics_test.go
Expand Up @@ -20,7 +20,7 @@ func Test_Filter_NoPathTemplate(t *testing.T) {
"https://www.example.org/a/b/c",
299,
func(t *testing.T, pass int, m *metricstest.MockMetrics) {
pre := "apiUsageMonitoring.custom.my_app.<unknown>.GET.<unknown>.*.*."
pre := "apiUsageMonitoring.custom.my_app.<unknown>.GET.{no-match}.*.*."
// no path matching: tracked as unknown
m.WithCounters(func(counters map[string]int64) {
assert.Equal(t,
Expand Down Expand Up @@ -48,7 +48,7 @@ func Test_Filter_NoConfiguration(t *testing.T) {
"https://www.example.org/a/b/c",
200,
func(t *testing.T, pass int, m *metricstest.MockMetrics) {
pre := "apiUsageMonitoring.custom.<unknown>.<unknown>.GET.<unknown>.*.*."
pre := "apiUsageMonitoring.custom.<unknown>.<unknown>.GET.{no-match}.*.*."
// no path matching: tracked as unknown
m.WithCounters(func(counters map[string]int64) {
assert.Equal(t,
Expand Down Expand Up @@ -238,15 +238,15 @@ func Test_Filter_StatusCodeUnder100IsMonitoredWithoutHttpStatusCount(t *testing.
})
}

func Test_Filter_NonConfiguredPathTrackedUnderUnknown(t *testing.T) {
func Test_Filter_NonConfiguredPathTrackedUnderNoMatch(t *testing.T) {
testWithFilter(
t,
createFilterForTest,
http.MethodGet,
"https://www.example.org/lapin/malin",
200,
func(t *testing.T, pass int, m *metricstest.MockMetrics) {
pre := "apiUsageMonitoring.custom.my_app.<unknown>.GET.<unknown>.*.*."
pre := "apiUsageMonitoring.custom.my_app.<unknown>.GET.{no-match}.*.*."
m.WithCounters(func(counters map[string]int64) {
assert.Equal(t,
map[string]int64{
Expand Down Expand Up @@ -288,7 +288,7 @@ func Test_Filter_AllHttpMethodsAreSupported(t *testing.T) {
200,
func(t *testing.T, pass int, m *metricstest.MockMetrics) {
pre := fmt.Sprintf(
"apiUsageMonitoring.custom.my_app.<unknown>.%s.<unknown>.*.*.",
"apiUsageMonitoring.custom.my_app.<unknown>.%s.{no-match}.*.*.",
testCase.expectedMethodInMetric)
m.WithCounters(func(counters map[string]int64) {
assert.Equal(t,
Expand Down
3 changes: 2 additions & 1 deletion filters/apiusagemonitoring/spec.go
Expand Up @@ -13,6 +13,7 @@ const (
Name = "apiUsageMonitoring"

unknownElementPlaceholder = "<unknown>"
noMatchPath = "{no-match}"

regexUrlPathPart = `.+`
regexOptionalSlashes = `\/*`
Expand Down Expand Up @@ -64,7 +65,7 @@ func NewApiUsageMonitoring(
unknownPath := newPathInfo(
unknownElementPlaceholder,
unknownElementPlaceholder,
unknownElementPlaceholder,
noMatchPath,
unknownPathClientTracking,
)
spec := &apiUsageMonitoringSpec{
Expand Down
2 changes: 1 addition & 1 deletion filters/apiusagemonitoring/spec_test.go
Expand Up @@ -43,7 +43,7 @@ type pathMatcher struct {

func unknownPath(applicationId string) pathMatcher {
return pathMatcher{
PathTemplate: "<unknown>",
PathTemplate: "{no-match}",
ApplicationId: applicationId,
ApiId: "<unknown>",
Matcher: nil,
Expand Down

0 comments on commit 4f0e734

Please sign in to comment.