MCPcopy
hub / github.com/cli/cli / RecordTelemetry

Function RecordTelemetry

pkg/cmdutil/telemetry.go:12–41  ·  view source on GitHub ↗
(cmd *cobra.Command, telemetry ghtelemetry.EventRecorder)

Source from the content-addressed store, hash-verified

10)
11
12func RecordTelemetry(cmd *cobra.Command, telemetry ghtelemetry.EventRecorder) {
13 if isTelemetryDisabled(cmd) {
14 return
15 }
16
17 if cmd.RunE == nil {
18 return
19 }
20
21 currentRunE := cmd.RunE
22 cmd.RunE = func(cmd *cobra.Command, args []string) error {
23 runErr := currentRunE(cmd, args)
24
25 var flags []string
26 cmd.Flags().Visit(func(f *pflag.Flag) {
27 flags = append(flags, f.Name)
28 })
29 slices.Sort(flags)
30
31 telemetry.Record(ghtelemetry.Event{
32 Type: "command_invocation",
33 Dimensions: map[string]string{
34 "command": cmd.CommandPath(),
35 "flags": strings.Join(flags, ","),
36 },
37 })
38
39 return runErr
40 }
41}
42
43func RecordTelemetryForSubcommands(cmd *cobra.Command, telemetry ghtelemetry.EventRecorder) {
44 for _, c := range cmd.Commands() {

Callers 2

TestRecordTelemetryFunction · 0.92

Calls 3

isTelemetryDisabledFunction · 0.85
JoinMethod · 0.80
RecordMethod · 0.65

Tested by 1

TestRecordTelemetryFunction · 0.74