@@ -9,18 +9,37 @@ import (
9
9
var _ = kafka .ProcessFetchReq
10
10
var kafkaCmd * cobra.Command = & cobra.Command {
11
11
Use : "kafka" ,
12
- Short : "watch RocketMQ message" ,
12
+ Short : "watch Kafka message" ,
13
13
Run : func (cmd * cobra.Command , args []string ) {
14
-
14
+ apikeys , err := cmd .Flags ().GetInt32Slice ("apikeys" )
15
+ if err != nil {
16
+ logger .Fatalf ("Invalid apikeys: %v\n " , err )
17
+ }
18
+ topic , err := cmd .Flags ().GetString ("topic" )
19
+ if err != nil {
20
+ logger .Fatalf ("Invalid topic: %v\n " , err )
21
+ }
22
+ producer , err := cmd .Flags ().GetBool ("producer" )
23
+ if err != nil {
24
+ logger .Fatalf ("Invalid producer: %v\n " , err )
25
+ }
26
+ consumer , err := cmd .Flags ().GetBool ("consumer" )
27
+ if err != nil {
28
+ logger .Fatalf ("Invalid consumer: %v\n " , err )
29
+ }
30
+ filter := kafka .NewKafkaFilter (apikeys , topic , producer , consumer )
31
+ options .MessageFilter = filter
15
32
options .LatencyFilter = initLatencyFilter (cmd )
16
33
options .SizeFilter = initSizeFilter (cmd )
17
34
startAgent ()
18
35
},
19
36
}
20
37
21
38
func init () {
22
- // kafkaCmd.Flags().Int32Slice("request-codes", []int32{}, "Specify the request codes to monitor (e.g., 10, 11), separated by ','")
23
- // kafkaCmd.Flags().StringSlice("languages", []string{}, "Specify the languages to monitor (e.g., Java, Go, Rust, CPP), separated by ','")
39
+ kafkaCmd .Flags ().Int32Slice ("apikeys" , []int32 {}, "Specify the apikeys to monitor (e.g., 0, 1), separated by ','" )
40
+ kafkaCmd .Flags ().String ("topic" , "" , "Specify the topic to monitor" )
41
+ kafkaCmd .Flags ().Bool ("producer" , true , "Monitor only producer request" )
42
+ kafkaCmd .Flags ().Bool ("consumer" , true , "Monitor only fetch request" )
24
43
25
44
kafkaCmd .PersistentFlags ().SortFlags = false
26
45
copy := * kafkaCmd
0 commit comments