2222 serviceName string
2323 rate int
2424 duration string
25+ size string
2526 headers map [string ]string
2627 verbose bool
2728 insecureSkip bool
@@ -39,6 +40,7 @@ func main() {
3940 cmd .Flags ().StringVar (& serviceName , "service" , "otelgen" , "Service name" )
4041 cmd .Flags ().IntVar (& rate , "rate" , 1 , "Rate of telemetry generation per second" )
4142 cmd .Flags ().StringVar (& duration , "duration" , "10s" , "Duration to generate telemetry (e.g., 10s, 1m)" )
43+ cmd .Flags ().StringVar (& size , "size" , "" , "Payload size (e.g., 1kb, 1mb, 500b)" )
4244 cmd .Flags ().StringToStringVar (& headers , "headers" , nil , "Additional headers (e.g., key1=value1,key2=value2)" )
4345 cmd .Flags ().BoolVar (& verbose , "verbose" , false , "Enable verbose logging" )
4446 cmd .Flags ().BoolVar (& insecureSkip , "insecure-skip-verify" , false , "Skip TLS certificate verification (insecure)" )
@@ -83,11 +85,19 @@ func runTraces(cmd *cobra.Command, args []string) error {
8385 return fmt .Errorf ("invalid endpoint: %w" , err )
8486 }
8587
88+ payloadSize , err := otelgen .ParseSize (size )
89+ if err != nil {
90+ return fmt .Errorf ("invalid size: %w" , err )
91+ }
92+
8693 if verbose {
8794 fmt .Printf ("Endpoint: %s\n " , endpoint .String ())
8895 fmt .Printf ("Service: %s\n " , serviceName )
8996 fmt .Printf ("Rate: %d/s\n " , rate )
9097 fmt .Printf ("Duration: %s\n " , duration )
98+ if payloadSize > 0 {
99+ fmt .Printf ("Payload Size: %d bytes\n " , payloadSize )
100+ }
91101 fmt .Printf ("Secure: %v\n " , endpoint .Secure )
92102 fmt .Printf ("Protocol: %s\n " , endpoint .Protocol )
93103 fmt .Printf ("Insecure Skip Verify: %v\n " , insecureSkip )
@@ -100,7 +110,7 @@ func runTraces(cmd *cobra.Command, args []string) error {
100110 fmt .Printf ("Generating traces to %s for service %s at %d/s for %s\n " ,
101111 endpoint .String (), serviceName , rate , duration )
102112
103- return otelgen .GenerateTraces (endpoint , serviceName , rate , duration , headers , verbose , insecureSkip )
113+ return otelgen .GenerateTraces (endpoint , serviceName , rate , duration , payloadSize , headers , verbose , insecureSkip )
104114}
105115
106116func runMetrics (cmd * cobra.Command , args []string ) error {
@@ -109,11 +119,19 @@ func runMetrics(cmd *cobra.Command, args []string) error {
109119 return fmt .Errorf ("invalid endpoint: %w" , err )
110120 }
111121
122+ payloadSize , err := otelgen .ParseSize (size )
123+ if err != nil {
124+ return fmt .Errorf ("invalid size: %w" , err )
125+ }
126+
112127 if verbose {
113128 fmt .Printf ("Endpoint: %s\n " , endpoint .String ())
114129 fmt .Printf ("Service: %s\n " , serviceName )
115130 fmt .Printf ("Rate: %d/s\n " , rate )
116131 fmt .Printf ("Duration: %s\n " , duration )
132+ if payloadSize > 0 {
133+ fmt .Printf ("Payload Size: %d bytes\n " , payloadSize )
134+ }
117135 fmt .Printf ("Secure: %v\n " , endpoint .Secure )
118136 fmt .Printf ("Protocol: %s\n " , endpoint .Protocol )
119137 fmt .Printf ("Insecure Skip Verify: %v\n " , insecureSkip )
@@ -126,7 +144,7 @@ func runMetrics(cmd *cobra.Command, args []string) error {
126144 fmt .Printf ("Generating metrics to %s for service %s at %d/s for %s\n " ,
127145 endpoint .String (), serviceName , rate , duration )
128146
129- return otelgen .GenerateMetrics (endpoint , serviceName , rate , duration , headers , verbose , insecureSkip )
147+ return otelgen .GenerateMetrics (endpoint , serviceName , rate , duration , payloadSize , headers , verbose , insecureSkip )
130148}
131149
132150func runLogs (cmd * cobra.Command , args []string ) error {
@@ -135,11 +153,19 @@ func runLogs(cmd *cobra.Command, args []string) error {
135153 return fmt .Errorf ("invalid endpoint: %w" , err )
136154 }
137155
156+ payloadSize , err := otelgen .ParseSize (size )
157+ if err != nil {
158+ return fmt .Errorf ("invalid size: %w" , err )
159+ }
160+
138161 if verbose {
139162 fmt .Printf ("Endpoint: %s\n " , endpoint .String ())
140163 fmt .Printf ("Service: %s\n " , serviceName )
141164 fmt .Printf ("Rate: %d/s\n " , rate )
142165 fmt .Printf ("Duration: %s\n " , duration )
166+ if payloadSize > 0 {
167+ fmt .Printf ("Payload Size: %d bytes\n " , payloadSize )
168+ }
143169 fmt .Printf ("Secure: %v\n " , endpoint .Secure )
144170 fmt .Printf ("Protocol: %s\n " , endpoint .Protocol )
145171 fmt .Printf ("Insecure Skip Verify: %v\n " , insecureSkip )
@@ -152,5 +178,5 @@ func runLogs(cmd *cobra.Command, args []string) error {
152178 fmt .Printf ("Generating logs to %s for service %s at %d/s for %s\n " ,
153179 endpoint .String (), serviceName , rate , duration )
154180
155- return otelgen .GenerateLogs (endpoint , serviceName , rate , duration , headers , verbose , insecureSkip )
181+ return otelgen .GenerateLogs (endpoint , serviceName , rate , duration , payloadSize , headers , verbose , insecureSkip )
156182}
0 commit comments