@@ -49,8 +49,8 @@ const (
49
49
queryService = "Query"
50
50
51
51
cmdDir = "/cmd/"
52
- collectorCmd = cmdDir + "jaeger-collector %s & "
53
- agentCmd = cmdDir + "jaeger-agent %s & "
52
+ collectorCmd = cmdDir + "jaeger-collector"
53
+ agentCmd = cmdDir + "jaeger-agent"
54
54
queryCmd = cmdDir + "jaeger-query"
55
55
56
56
collectorHostPort = "localhost:14267"
@@ -97,11 +97,11 @@ func main() {
97
97
func (h * clientHandler ) initialize () {
98
98
InitializeStorage (logger )
99
99
logger .Info ("Cassandra started" )
100
- InitializeCollector (logger )
100
+ startCollector (logger )
101
101
logger .Info ("Collector started" )
102
- agentService := InitializeAgent ("" , logger )
102
+ agentService := startAgent ("" , logger )
103
103
logger .Info ("Agent started" )
104
- queryService := NewQueryService ("" , logger )
104
+ queryService := startQueryService ("" , logger )
105
105
logger .Info ("Query started" )
106
106
traceHandler := services .NewTraceHandler (queryService , agentService , logger )
107
107
h .Lock ()
@@ -120,18 +120,19 @@ func (h *clientHandler) isInitialized() bool {
120
120
return h .initialized
121
121
}
122
122
123
- // InitializeCollector initializes the jaeger collector
124
- func InitializeCollector (logger * zap.Logger ) {
125
- cmd := exec .Command ("/bin/sh" , "-c" ,
126
- fmt .Sprintf (collectorCmd , "-cassandra.keyspace=jaeger -cassandra.servers=cassandra" ))
127
- if err := cmd .Run (); err != nil {
128
- logger .Fatal ("Failed to initialize collector service" , zap .Error (err ))
129
- }
123
+ // startCollector starts the jaeger collector as a background process.
124
+ func startCollector (logger * zap.Logger ) {
125
+ forkCmd (
126
+ logger ,
127
+ collectorCmd ,
128
+ "-cassandra.keyspace=jaeger" ,
129
+ "-cassandra.servers=cassandra" ,
130
+ )
130
131
tChannelHealthCheck (logger , collectorService , collectorHostPort )
131
132
}
132
133
133
- // NewQueryService initiates the query service
134
- func NewQueryService (url string , logger * zap.Logger ) services.QueryService {
134
+ // startQueryService initiates the query service as a background process.
135
+ func startQueryService (url string , logger * zap.Logger ) services.QueryService {
135
136
forkCmd (
136
137
logger ,
137
138
queryCmd ,
@@ -145,6 +146,23 @@ func NewQueryService(url string, logger *zap.Logger) services.QueryService {
145
146
return services .NewQueryService (url , logger )
146
147
}
147
148
149
+ // startAgent initializes the jaeger agent as a background process.
150
+ func startAgent (url string , logger * zap.Logger ) services.AgentService {
151
+ forkCmd (
152
+ logger ,
153
+ agentCmd ,
154
+ "-collector.host-port=localhost:14267" ,
155
+ "-processor.zipkin-compact.server-host-port=test_driver:5775" ,
156
+ "-processor.jaeger-compact.server-host-port=test_driver:6831" ,
157
+ "-processor.jaeger-binary.server-host-port=test_driver:6832" ,
158
+ )
159
+ if url == "" {
160
+ url = agentURL
161
+ }
162
+ healthCheck (logger , agentService , agentURL )
163
+ return services .NewAgentService (url , logger )
164
+ }
165
+
148
166
func forkCmd (logger * zap.Logger , cmd string , args ... string ) {
149
167
c := exec .Command (cmd , args ... )
150
168
@@ -170,21 +188,6 @@ func forkCmd(logger *zap.Logger, cmd string, args ...string) {
170
188
}
171
189
}
172
190
173
- // InitializeAgent initializes the jaeger agent.
174
- func InitializeAgent (url string , logger * zap.Logger ) services.AgentService {
175
- cmd := exec .Command ("/bin/sh" , "-c" , fmt .Sprintf (agentCmd ,
176
- "-collector.host-port=localhost:14267 -processor.zipkin-compact.server-host-port=test_driver:5775 " +
177
- "-processor.jaeger-compact.server-host-port=test_driver:6831 -processor.jaeger-binary.server-host-port=test_driver:6832" ))
178
- if err := cmd .Run (); err != nil {
179
- logger .Fatal ("Failed to initialize agent service" , zap .Error (err ))
180
- }
181
- if url == "" {
182
- url = agentURL
183
- }
184
- healthCheck (logger , agentService , agentURL )
185
- return services .NewAgentService (url , logger )
186
- }
187
-
188
191
// InitializeStorage initializes cassandra instances.
189
192
func InitializeStorage (logger * zap.Logger ) {
190
193
session := initializeCassandra (logger , cassandraHost , 4 )
0 commit comments