@@ -2,6 +2,7 @@ package metrics
2
2
3
3
import (
4
4
"context"
5
+ "fmt"
5
6
"github.com/urfave/cli/v2"
6
7
"log"
7
8
"os"
@@ -52,6 +53,7 @@ func newMeterProvider(res *resource.Resource) *metric.MeterProvider {
52
53
}
53
54
54
55
func recordCommandUsage (ctx context.Context , provider * metric.MeterProvider , flags []string ) {
56
+ fmt .Println (flags )
55
57
commandHistogram , _ := provider .Meter (naisCliPrefixName ).Int64Histogram (
56
58
naisCliPrefixName + "_command_usage" ,
57
59
m .WithUnit ("1" ),
@@ -72,27 +74,23 @@ func recordCommandUsage(ctx context.Context, provider *metric.MeterProvider, fla
72
74
// Just a list intersection, used to create the intersection
73
75
// between os.args and all the args we have in the cli
74
76
func intersection (list1 , list2 []string ) []string {
77
+
75
78
elements := make (map [string ]bool )
76
- resultSet := make (map [string ]bool )
79
+ seen := make (map [string ]bool )
77
80
78
81
// Mark elements in list1
79
82
for _ , item := range list1 {
80
83
elements [item ] = true
81
84
}
82
85
83
86
// Check for intersections and add to resultSet to ensure uniqueness
87
+ var result []string
84
88
for _ , item := range list2 {
85
- if elements [item ] && ! resultSet [item ] {
86
- resultSet [item ] = true
89
+ if elements [item ] && ! seen [item ] {
90
+ result = append (result , item )
91
+ seen [item ] = true
87
92
}
88
93
}
89
-
90
- // Collect the unique intersection elements into a slice
91
- var result []string
92
- for item := range resultSet {
93
- result = append (result , item )
94
- }
95
-
96
94
return result
97
95
}
98
96
0 commit comments