1515package builder
1616
1717import (
18+ "flag"
1819 "fmt"
1920 "strings"
2021
@@ -26,8 +27,37 @@ const (
2627 jaegerEntry = "jaeger"
2728 opencensusEntry = "opencensus"
2829 zipkinEntry = "zipkin"
30+
31+ // flags
32+ configCfg = "config"
33+ jaegerReceiverFlg = "receive-jaeger"
34+ ocReceiverFlg = "receive-oc-trace"
35+ zipkinReceiverFlg = "receive-zipkin"
36+ debugProcessorFlg = "debug-processor"
2937)
3038
39+ // Flags adds flags related to basic building of the collector application to the given flagset.
40+ func Flags (flags * flag.FlagSet ) {
41+ flags .String (configCfg , "" , "Path to the config file" )
42+ flags .Bool (jaegerReceiverFlg , false ,
43+ fmt .Sprintf ("Flag to run the Jaeger receiver (i.e.: Jaeger Collector), default settings: %+v" , * NewDefaultJaegerReceiverCfg ()))
44+ flags .Bool (ocReceiverFlg , true ,
45+ fmt .Sprintf ("Flag to run the OpenCensus trace receiver, default settings: %+v" , * NewDefaultOpenCensusReceiverCfg ()))
46+ flags .Bool (zipkinReceiverFlg , false ,
47+ fmt .Sprintf ("Flag to run the Zipkin receiver, default settings: %+v" , * NewDefaultZipkinReceiverCfg ()))
48+ flags .Bool (debugProcessorFlg , false , "Flag to add a debug processor (combine with log level DEBUG to log incoming spans)" )
49+ }
50+
51+ // GetConfigFile gets the config file from the config file flag.
52+ func GetConfigFile (v * viper.Viper ) string {
53+ return v .GetString (configCfg )
54+ }
55+
56+ // DebugProcessorEnabled returns true if the debug processor is enabled, and false otherwise
57+ func DebugProcessorEnabled (v * viper.Viper ) bool {
58+ return v .GetBool (debugProcessorFlg )
59+ }
60+
3161// JaegerReceiverCfg holds configuration for Jaeger receivers.
3262type JaegerReceiverCfg struct {
3363 // ThriftTChannelPort is the port that the relay receives on for jaeger thrift tchannel requests
@@ -38,8 +68,8 @@ type JaegerReceiverCfg struct {
3868
3969// JaegerReceiverEnabled checks if the Jaeger receiver is enabled, via a command-line flag, environment
4070// variable, or configuration file.
41- func JaegerReceiverEnabled (v * viper.Viper , cmdFlag string ) bool {
42- return featureEnabled (v , cmdFlag , receiversRoot , jaegerEntry )
71+ func JaegerReceiverEnabled (v * viper.Viper ) bool {
72+ return featureEnabled (v , jaegerReceiverFlg , receiversRoot , jaegerEntry )
4373}
4474
4575// NewDefaultJaegerReceiverCfg returns an instance of JaegerReceiverCfg with default values
@@ -64,8 +94,8 @@ type OpenCensusReceiverCfg struct {
6494
6595// OpenCensusReceiverEnabled checks if the OpenCensus receiver is enabled, via a command-line flag, environment
6696// variable, or configuration file.
67- func OpenCensusReceiverEnabled (v * viper.Viper , cmdFlag string ) bool {
68- return featureEnabled (v , cmdFlag , receiversRoot , opencensusEntry )
97+ func OpenCensusReceiverEnabled (v * viper.Viper ) bool {
98+ return featureEnabled (v , ocReceiverFlg , receiversRoot , opencensusEntry )
6999}
70100
71101// NewDefaultOpenCensusReceiverCfg returns an instance of OpenCensusReceiverCfg with default values
@@ -89,8 +119,8 @@ type ZipkinReceiverCfg struct {
89119
90120// ZipkinReceiverEnabled checks if the Zipkin receiver is enabled, via a command-line flag, environment
91121// variable, or configuration file.
92- func ZipkinReceiverEnabled (v * viper.Viper , cmdFlag string ) bool {
93- return featureEnabled (v , cmdFlag , receiversRoot , zipkinEntry )
122+ func ZipkinReceiverEnabled (v * viper.Viper ) bool {
123+ return featureEnabled (v , zipkinReceiverFlg , receiversRoot , zipkinEntry )
94124}
95125
96126// NewDefaultZipkinReceiverCfg returns an instance of ZipkinReceiverCfg with default values
0 commit comments