testing jaeger with linkerd

This commit is contained in:
marcel-dempers 2021-04-18 10:17:04 +10:00
parent fc920a27de
commit c1fefc1227
7 changed files with 53 additions and 30 deletions

View File

@ -74,7 +74,7 @@ func main() {
opentracing.HTTPHeadersCarrier(r.Header),
)
span := opentracing.GlobalTracer().StartSpan("/ GET", ext.RPCServerOption(spanCtx))
span := opentracing.StartSpan("/ GET", ext.RPCServerOption(spanCtx))
defer span.Finish()
cors(w)
@ -94,7 +94,8 @@ func main() {
vs := []videos{}
for vi := range playlists[pi].Videos {
span, _ := opentracing.StartSpanFromContext(ctx, "videos-api GET")
videoSpan := opentracing.StartSpan("videos-api GET", opentracing.ChildOf(span.Context()))
//span, _ := opentracing.StartSpanFromContext(ctx, "videos-api GET")
v := videos{}
req, err := http.NewRequest("GET", "http://videos-api:10010/" + playlists[pi].Videos[vi].Id, nil)
@ -109,15 +110,16 @@ func main() {
)
videoResp, err :=http.DefaultClient.Do(req)
span.Finish()
if err != nil {
fmt.Println(err)
span.SetTag("error", true)
videoSpan.SetTag("error", true)
break
}
defer videoResp.Body.Close()
videoSpan.Finish()
video, err := ioutil.ReadAll(videoResp.Body)
if err != nil {

View File

@ -21,7 +21,7 @@ spec:
spec:
containers:
- name: playlists-api
image: aimvector/service-mesh:playlists-api-2.0.0
image: aimvector/service-mesh:playlists-api-2.0.4
imagePullPolicy : Always
ports:
- containerPort: 10010

View File

@ -77,9 +77,9 @@ func main() {
opentracing.HTTPHeadersCarrier(r.Header),
)
span := opentracing.GlobalTracer().StartSpan("/id GET", ext.RPCServerOption(spanCtx))
span := opentracing.StartSpan("/id GET", ext.RPCServerOption(spanCtx))
defer span.Finish()
if flaky == "true"{
if rand.Intn(90) < 30 {
panic("flaky error occurred ")
@ -116,22 +116,11 @@ func video(writer http.ResponseWriter, request *http.Request, p httprouter.Param
videoData, err := rdb.Get(ctx, id).Result()
if err == redis.Nil {
span.Tracer().Inject(
span.Context(),
opentracing.HTTPHeaders,
opentracing.HTTPHeadersCarrier(request.Header),
)
return "{}"
} else if err != nil {
panic(err)
} else {
span.Tracer().Inject(
span.Context(),
opentracing.HTTPHeaders,
opentracing.HTTPHeadersCarrier(request.Header),
)
return videoData
}
}

View File

@ -21,7 +21,7 @@ spec:
spec:
containers:
- name: videos-api
image: aimvector/service-mesh:videos-api-2.0.0
image: aimvector/service-mesh:videos-api-2.0.4
imagePullPolicy : Always
ports:
- containerPort: 10010

View File

@ -21,7 +21,7 @@ spec:
spec:
containers:
- name: videos-web
image: aimvector/service-mesh:videos-web-2.0.0
image: aimvector/service-mesh:videos-web-2.0.4
imagePullPolicy : Always
ports:
- containerPort: 80

View File

@ -2,14 +2,14 @@ version: "3.4"
services:
videos-web:
container_name: videos-web
image: aimvector/service-mesh:videos-web-2.0.0
image: aimvector/service-mesh:videos-web-2.0.4
build:
context: ./applications/videos-web
ports:
- 80:80
playlists-api:
container_name: playlists-api
image: aimvector/service-mesh:playlists-api-2.0.0
image: aimvector/service-mesh:playlists-api-2.0.4
build:
context: ./applications/playlists-api
environment:
@ -21,7 +21,7 @@ services:
- 81:10010
videos-api:
container_name: videos-api
image: aimvector/service-mesh:videos-api-2.0.0
image: aimvector/service-mesh:videos-api-2.0.4
build:
context: ./applications/videos-api
environment:

View File

@ -1,3 +1,17 @@
#
# Copyright 2017-2019 The Jaeger Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
# in compliance with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software distributed under the License
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
# or implied. See the License for the specific language governing permissions and limitations under
# the License.
#
apiVersion: v1
kind: List
items:
@ -7,15 +21,21 @@ items:
name: jaeger
labels:
app: jaeger
app.kubernetes.io/name: jaeger
app.kubernetes.io/component: all-in-one
spec:
replicas: 1
selector:
matchLabels:
app: jaeger
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
app: jaeger
app.kubernetes.io/name: jaeger
app.kubernetes.io/component: all-in-one
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "16686"
@ -50,6 +70,8 @@ items:
name: jaeger-query
labels:
app: jaeger
app.kubernetes.io/name: jaeger
app.kubernetes.io/component: query
spec:
ports:
- name: query-http
@ -57,14 +79,17 @@ items:
protocol: TCP
targetPort: 16686
selector:
app: jaeger
type: ClusterIP
app.kubernetes.io/name: jaeger
app.kubernetes.io/component: all-in-one
type: LoadBalancer
- apiVersion: v1
kind: Service
metadata:
name: jaeger-collector
labels:
app: jaeger
app.kubernetes.io/name: jaeger
app.kubernetes.io/component: collector
spec:
ports:
- name: jaeger-collector-tchannel
@ -80,7 +105,8 @@ items:
protocol: TCP
targetPort: 9411
selector:
app: jaeger
app.kubernetes.io/name: jaeger
app.kubernetes.io/component: all-in-one
type: ClusterIP
- apiVersion: v1
kind: Service
@ -88,6 +114,8 @@ items:
name: jaeger-agent
labels:
app: jaeger
app.kubernetes.io/name: jaeger
app.kubernetes.io/component: agent
spec:
ports:
- name: agent-zipkin-thrift
@ -108,13 +136,16 @@ items:
targetPort: 5778
clusterIP: None
selector:
app: jaeger
app.kubernetes.io/name: jaeger
app.kubernetes.io/component: all-in-one
- apiVersion: v1
kind: Service
metadata:
name: zipkin
labels:
app: jaeger
app.kubernetes.io/name: jaeger
app.kubernetes.io/component: zipkin
spec:
ports:
- name: jaeger-collector-zipkin
@ -123,4 +154,5 @@ items:
targetPort: 9411
clusterIP: None
selector:
app: jaeger
app.kubernetes.io/name: jaeger
app.kubernetes.io/component: all-in-one