Fix helm examples (#2739)

* fix helm examples

Signed-off-by: Joe Elliott <number101010@gmail.com>

* remove unnecessary minio

Signed-off-by: Joe Elliott <number101010@gmail.com>

---------

Signed-off-by: Joe Elliott <number101010@gmail.com>
This commit is contained in:
Joe Elliott
2023-07-31 17:27:31 -04:00
committed by GitHub
parent 2663bc3f87
commit d21e0bbcf6
5 changed files with 33 additions and 1503 deletions
+3 -18
View File
@@ -38,7 +38,7 @@ Install Tempo, Grafana and run a K6 job against tempo.
```console
helm upgrade -f microservices-tempo-values.yaml --install tempo grafana/tempo-distributed
helm upgrade -f microservices-grafana-values.yaml --install grafana grafana/grafana
kubectl apply -f microservices-loadtest.yaml
kubectl apply -f microservices-extras.yaml
```
### Single Binary
@@ -63,24 +63,9 @@ helm upgrade -f single-binary-grafana-values.yaml --install grafana grafana/graf
kubectl create -f single-binary-extras.yaml
```
### View a trace
### Find Traces
After the applications are running check the load generators logs
```console
# you can find the exact pod name using `kubectl get pods`
kubectl logs synthetic-load-generator-???
```
```
20/03/03 21:30:01 INFO ScheduledTraceGenerator: Emitted traceId e9f4add3ac7c7115 for service frontend route /product
20/03/03 21:30:01 INFO ScheduledTraceGenerator: Emitted traceId 3890ea9c4d7fab00 for service frontend route /cart
20/03/03 21:30:01 INFO ScheduledTraceGenerator: Emitted traceId c36fc5169bf0693d for service frontend route /cart
20/03/03 21:30:01 INFO ScheduledTraceGenerator: Emitted traceId ebaf7d02b96b30fc for service frontend route /cart
20/03/03 21:30:02 INFO ScheduledTraceGenerator: Emitted traceId 23a09a0efd0d1ef0 for service frontend route /cart
```
Extract a trace id and view it in Grafana at http://localhost:3000/explore
Navigate to http://localhost:3000/explore and try a simple TraceQL query like `{}`
### Clean up
+20 -716
View File
@@ -7,658 +7,20 @@ metadata:
namespace: default
spec:
rules:
- http:
paths:
- backend:
service:
name: grafana
port:
number: 80
path: /
pathType: Exact
---
apiVersion: v1
data:
load-generator.json: |-
{
"topology": {
"services": [
{
"serviceName": "frontend",
"tagSets": [
{
"weight": 1,
"tags": {
"version": "v127",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
},
{
"weight": 1,
"tags": {
"version": "v125",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
},
{
"weight": 2,
"tags": {
"version": "v125",
"region": "us-west-1"
},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
}
],
"routes": [
{
"route": "/product",
"downstreamCalls": {
"productcatalogservice": "/GetProducts",
"recommendationservice": "/GetRecommendations",
"adservice": "/AdRequest"
},
"tagSets": [
{
"weight": 1,
"tags": {
"starter": "charmander"
},
"tagGenerators": [
{
"rand": {
"seed": 179867746078676,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
},
"tagGen": {},
"valLength": 16,
"numTags": 50,
"numVals": 3000
}
],
"inherit": []
},
{
"weight": 1,
"tags": {
"starter": "squirtle"
},
"tagGenerators": [],
"inherit": []
},
{
"weight": 1,
"tags": {
"starter": "bulbasaur"
},
"tagGenerators": [],
"inherit": []
}
]
},
{
"route": "/cart",
"downstreamCalls": {
"cartservice": "/GetCart",
"recommendationservice": "/GetRecommendations"
},
"tagSets": []
},
{
"route": "/checkout",
"downstreamCalls": {
"checkoutservice": "/PlaceOrder"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 800
}
]
},
{
"route": "/shipping",
"downstreamCalls": {
"shippingservice": "/GetQuote"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 50
}
]
},
{
"route": "/currency",
"downstreamCalls": {
"currencyservice": "/GetConversion"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 50
}
]
}
],
"instances": [
"frontend-6b654dbf57-zq8dt",
"frontend-d847fdcf5-j6s2f",
"frontend-79d8c8d6c8-9sbff"
],
"mergedTagSets": {},
"random": {
"seed": 187004238864083,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "productcatalogservice",
"tagSets": [
{
"tags": {
"version": "v52"
},
"tagGenerators": [],
"inherit": [
"region"
]
}
],
"routes": [
{
"route": "/GetProducts",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [
"starter"
],
"maxLatency": 100
}
]
},
{
"route": "/SearchProducts",
"downstreamCalls": {},
"tagSets": [
{
"weight": 15,
"tags": {
"error": true,
"http.status_code": 503
},
"tagGenerators": [],
"inherit": [],
"maxLatency": 400
},
{
"weight": 85,
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 400
}
]
}
],
"instances": [
"productcatalogservice-6b654dbf57-zq8dt",
"productcatalogservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 238238032670139,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "recommendationservice",
"tagSets": [
{
"tags": {
"version": "v234",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": []
}
],
"routes": [
{
"route": "/GetRecommendations",
"downstreamCalls": {
"productcatalogservice": "/GetProducts"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 200
}
]
}
],
"instances": [
"recommendationservice-6b654dbf57-zq8dt",
"recommendationservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 66295214032801,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "cartservice",
"tagSets": [
{
"tags": {
"version": "v5",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": []
}
],
"routes": [
{
"route": "/GetCart",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 200
}
]
}
],
"instances": [
"cartservice-6b654dbf57-zq8dt",
"cartservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 234194353561392,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "checkoutservice",
"tagSets": [
{
"tags": {
"version": "v37",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": [],
"maxLatency": 500
}
],
"routes": [
{
"route": "/PlaceOrder",
"downstreamCalls": {
"paymentservice": "/CreditCardInfo",
"shippingservice": "/Address",
"currencyservice": "/GetConversion",
"cartservice": "/GetCart",
"emailservice": "/SendOrderConfirmation"
},
"tagSets": [
{
"weight": 25,
"tags": {
"error": true,
"http.status_code": 503
},
"tagGenerators": [],
"inherit": []
},
{
"weight": 85,
"tags": {},
"tagGenerators": [],
"inherit": []
}
]
}
],
"instances": [
"checkoutservice-6b654dbf57-zq8dt",
"checkoutservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 60782549660568,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "paymentservice",
"tagSets": [
{
"tags": {
"version": "v177",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": []
}
],
"routes": [
{
"route": "/ChargeRequest",
"downstreamCalls": {
"paymentservice": "/CreditCardInfo"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 700
}
]
},
{
"route": "/CreditCardInfo",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 50
}
]
}
],
"instances": [
"paymentservice-6b654dbf57-zq8dt",
"paymentservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 174850031049111,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "shippingservice",
"tagSets": [
{
"tags": {
"version": "v127",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": []
}
],
"routes": [
{
"route": "/GetQuote",
"downstreamCalls": {
"shippingservice": "/Address"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 250
}
]
},
{
"route": "/ShipOrder",
"downstreamCalls": {
"shippingservice": "/Address"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 500
}
]
},
{
"route": "/Address",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
}
]
}
],
"instances": [
"shippingservice-6b654dbf57-zq8dt",
"shippingservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 107892261530518,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "emailservice",
"tagSets": [
{
"tags": {
"version": "v27",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": [],
"maxLatency": 500
}
],
"routes": [
{
"route": "/SendOrderConfirmation",
"downstreamCalls": {
"emailservice": "/OrderResult"
},
"tagSets": [
{
"weight": 15,
"tags": {
"error": true,
"http.status_code": 503
},
"tagGenerators": [],
"inherit": []
},
{
"weight": 85,
"tags": {},
"tagGenerators": [],
"inherit": []
}
]
},
{
"route": "/OrderResult",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
}
]
}
],
"instances": [
"emailservice-6b654dbf57-zq8dt",
"emailservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 61175057559946,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "currencyservice",
"tagSets": [
{
"tags": {
"version": "v27",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": []
}
],
"routes": [
{
"route": "/GetConversion",
"downstreamCalls": {
"currencyservice": "/Money"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
}
]
},
{
"route": "/Money",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
}
]
}
],
"instances": [
"currencyservice-6b654dbf57-zq8dt",
"currencyservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 66219471499700,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "adservice",
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 500
}
],
"routes": [
{
"route": "/AdRequest",
"downstreamCalls": {},
"tagSets": []
},
{
"route": "/Ad",
"downstreamCalls": {},
"tagSets": []
}
],
"instances": [
"adservice-6b654dbf57-zq8dt",
"adservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 22694143111805,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
}
]
},
"rootRoutes": [
{
"service": "frontend",
"route": "/product",
"tracesPerHour": 2880
},
{
"service": "frontend",
"route": "/cart",
"tracesPerHour": 14400
},
{
"service": "frontend",
"route": "/shipping",
"tracesPerHour": 480
},
{
"service": "frontend",
"route": "/currency",
"tracesPerHour": 200
},
{
"service": "frontend",
"route": "/checkout",
"tracesPerHour": 480
}
]
}
kind: ConfigMap
metadata:
name: synthetic-load-generator
namespace: default
- http:
paths:
- backend:
service:
name: grafana
port:
number: 80
path: /
pathType: Prefix
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: synthetic-load-generator
name: xk6-tracing
namespace: default
spec:
minReadySeconds: 10
@@ -666,76 +28,18 @@ spec:
revisionHistoryLimit: 10
selector:
matchLabels:
app: synthetic_load_generator
name: synthetic-load-generator
app: xk6-tracing
name: xk6-tracing
template:
metadata:
labels:
app: synthetic_load_generator
name: synthetic-load-generator
app: xk6-tracing
name: xk6-tracing
spec:
containers:
- env:
- name: JAEGER_COLLECTOR_URL
value: http://tempo-tempo-distributed-distributor:14268
- name: TOPOLOGY_FILE
value: /conf/load-generator.json
image: omnition/synthetic-load-generator:1.0.25
imagePullPolicy: IfNotPresent
name: synthetic-load-gen
volumeMounts:
- mountPath: /conf
name: conf
volumes:
- configMap:
name: synthetic-load-generator
name: conf
---
apiVersion: v1
kind: Service
metadata:
labels:
name: minio
name: minio
namespace: default
spec:
ports:
- port: 9000
targetPort: 9000
selector:
app: minio
name: minio
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: minio
namespace: default
spec:
minReadySeconds: 10
replicas: 1
selector:
matchLabels:
app: minio
name: minio
template:
metadata:
labels:
app: minio
name: minio
spec:
containers:
- env:
- name: MINIO_ACCESS_KEY
value: tempo
- name: MINIO_SECRET_KEY
value: supersecret
image: minio/minio:latest
imagePullPolicy: IfNotPresent
name: minio
command: ['sh']
args:
[
'-euc',
"mkdir -p /data/tempo && /opt/bin/minio server /data --console-address ':9001'",
]
- env:
- name: ENDPOINT
value: tempo-distributor:4317
image: ghcr.io/grafana/xk6-client-tracing:v0.0.2
imagePullPolicy: IfNotPresent
name: xk6-tracing
@@ -1,19 +1,7 @@
grafana.ini:
server:
domain: grafana.cluster.local
root_url: '%(protocol)s://%(domain)s/grafana'
serve_from_sub_path: true
ingress:
enabled: true
hosts:
- 'localhost'
path: '/grafana'
env:
GF_AUTH_ANONYMOUS_ENABLED: true
GF_AUTH_ANONYMOUS_ORG_ROLE: 'Admin'
GF_AUTH_DISABLE_LOGIN_FORM: true
GF_FEATURE_TOGGLES_ENABLE: tempoSearch,tempoServiceGraph,tempoApmTable,traceqlEditor
datasources:
datasources.yaml:
-100
View File
@@ -1,100 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: k6-tracing
spec:
backoffLimit: 1
completions: 1
parallelism: 1
template:
metadata:
labels:
name: k6-tracing
spec:
containers:
- args:
- run
- /config/param.js
image: zalegrala/xk6-client-tracing:latest
imagePullPolicy: Always
name: k6-tracing
ports:
- containerPort: 6565
name: none
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /config
name: k6-tracing-config
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- configMap:
defaultMode: 420
name: k6-tracing-config
name: k6-tracing-config
ttlSecondsAfterFinished: 604800
---
apiVersion: v1
kind: ConfigMap
metadata:
name: k6-tracing-config
data:
param.js: |
import { sleep } from 'k6'
import tracing from 'k6/x/tracing'
import { randomIntBetween } from 'https://jslib.k6.io/k6-utils/1.2.0/index.js'
export let options = {
vus: 1,
duration: '3m',
}
const client = new tracing.Client({
endpoint: 'tempo-distributor:4317',
exporter: tracing.EXPORTER_OTLP,
insecure: true,
headers: { 'X-Scope-OrgID': 'k6' },
})
export default function () {
let pushSizeTraces = randomIntBetween(2, 3)
let pushSizeSpans = 0
let t = []
for (let i = 0; i < pushSizeTraces; i++) {
let c = randomIntBetween(5, 35)
pushSizeSpans += c
t.push({
random_service_name: false,
spans: {
count: c,
size: randomIntBetween(300, 30000),
random_name: true,
fixed_attrs: {
test: 'test',
},
},
})
}
let gen = new tracing.ParameterizedGenerator(t)
let traces = gen.traces()
client.push(traces)
console.log(
`Pushed ${pushSizeSpans} spans from ${pushSizeTraces} different traces. Here is a random traceID: ${
t[Math.floor(Math.random() * t.length)].id
}`
)
sleep(1)
}
export function teardown() {
client.shutdown()
}
+10 -657
View File
@@ -13,652 +13,14 @@ spec:
service:
name: grafana
port:
number: 80
number: 80
path: /
pathType: Prefix
---
apiVersion: v1
data:
load-generator.json: |-
{
"topology": {
"services": [
{
"serviceName": "frontend",
"tagSets": [
{
"weight": 1,
"tags": {
"version": "v127",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
},
{
"weight": 1,
"tags": {
"version": "v125",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
},
{
"weight": 2,
"tags": {
"version": "v125",
"region": "us-west-1"
},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
}
],
"routes": [
{
"route": "/product",
"downstreamCalls": {
"productcatalogservice": "/GetProducts",
"recommendationservice": "/GetRecommendations",
"adservice": "/AdRequest"
},
"tagSets": [
{
"weight": 1,
"tags": {
"starter": "charmander"
},
"tagGenerators": [
{
"rand": {
"seed": 179867746078676,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
},
"tagGen": {},
"valLength": 16,
"numTags": 50,
"numVals": 3000
}
],
"inherit": []
},
{
"weight": 1,
"tags": {
"starter": "squirtle"
},
"tagGenerators": [],
"inherit": []
},
{
"weight": 1,
"tags": {
"starter": "bulbasaur"
},
"tagGenerators": [],
"inherit": []
}
]
},
{
"route": "/cart",
"downstreamCalls": {
"cartservice": "/GetCart",
"recommendationservice": "/GetRecommendations"
},
"tagSets": []
},
{
"route": "/checkout",
"downstreamCalls": {
"checkoutservice": "/PlaceOrder"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 800
}
]
},
{
"route": "/shipping",
"downstreamCalls": {
"shippingservice": "/GetQuote"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 50
}
]
},
{
"route": "/currency",
"downstreamCalls": {
"currencyservice": "/GetConversion"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 50
}
]
}
],
"instances": [
"frontend-6b654dbf57-zq8dt",
"frontend-d847fdcf5-j6s2f",
"frontend-79d8c8d6c8-9sbff"
],
"mergedTagSets": {},
"random": {
"seed": 187004238864083,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "productcatalogservice",
"tagSets": [
{
"tags": {
"version": "v52"
},
"tagGenerators": [],
"inherit": [
"region"
]
}
],
"routes": [
{
"route": "/GetProducts",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [
"starter"
],
"maxLatency": 100
}
]
},
{
"route": "/SearchProducts",
"downstreamCalls": {},
"tagSets": [
{
"weight": 15,
"tags": {
"error": true,
"http.status_code": 503
},
"tagGenerators": [],
"inherit": [],
"maxLatency": 400
},
{
"weight": 85,
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 400
}
]
}
],
"instances": [
"productcatalogservice-6b654dbf57-zq8dt",
"productcatalogservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 238238032670139,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "recommendationservice",
"tagSets": [
{
"tags": {
"version": "v234",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": []
}
],
"routes": [
{
"route": "/GetRecommendations",
"downstreamCalls": {
"productcatalogservice": "/GetProducts"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 200
}
]
}
],
"instances": [
"recommendationservice-6b654dbf57-zq8dt",
"recommendationservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 66295214032801,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "cartservice",
"tagSets": [
{
"tags": {
"version": "v5",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": []
}
],
"routes": [
{
"route": "/GetCart",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 200
}
]
}
],
"instances": [
"cartservice-6b654dbf57-zq8dt",
"cartservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 234194353561392,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "checkoutservice",
"tagSets": [
{
"tags": {
"version": "v37",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": [],
"maxLatency": 500
}
],
"routes": [
{
"route": "/PlaceOrder",
"downstreamCalls": {
"paymentservice": "/CreditCardInfo",
"shippingservice": "/Address",
"currencyservice": "/GetConversion",
"cartservice": "/GetCart",
"emailservice": "/SendOrderConfirmation"
},
"tagSets": [
{
"weight": 25,
"tags": {
"error": true,
"http.status_code": 503
},
"tagGenerators": [],
"inherit": []
},
{
"weight": 85,
"tags": {},
"tagGenerators": [],
"inherit": []
}
]
}
],
"instances": [
"checkoutservice-6b654dbf57-zq8dt",
"checkoutservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 60782549660568,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "paymentservice",
"tagSets": [
{
"tags": {
"version": "v177",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": []
}
],
"routes": [
{
"route": "/ChargeRequest",
"downstreamCalls": {
"paymentservice": "/CreditCardInfo"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 700
}
]
},
{
"route": "/CreditCardInfo",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 50
}
]
}
],
"instances": [
"paymentservice-6b654dbf57-zq8dt",
"paymentservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 174850031049111,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "shippingservice",
"tagSets": [
{
"tags": {
"version": "v127",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": []
}
],
"routes": [
{
"route": "/GetQuote",
"downstreamCalls": {
"shippingservice": "/Address"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 250
}
]
},
{
"route": "/ShipOrder",
"downstreamCalls": {
"shippingservice": "/Address"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 500
}
]
},
{
"route": "/Address",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
}
]
}
],
"instances": [
"shippingservice-6b654dbf57-zq8dt",
"shippingservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 107892261530518,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "emailservice",
"tagSets": [
{
"tags": {
"version": "v27",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": [],
"maxLatency": 500
}
],
"routes": [
{
"route": "/SendOrderConfirmation",
"downstreamCalls": {
"emailservice": "/OrderResult"
},
"tagSets": [
{
"weight": 15,
"tags": {
"error": true,
"http.status_code": 503
},
"tagGenerators": [],
"inherit": []
},
{
"weight": 85,
"tags": {},
"tagGenerators": [],
"inherit": []
}
]
},
{
"route": "/OrderResult",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
}
]
}
],
"instances": [
"emailservice-6b654dbf57-zq8dt",
"emailservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 61175057559946,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "currencyservice",
"tagSets": [
{
"tags": {
"version": "v27",
"region": "us-east-1"
},
"tagGenerators": [],
"inherit": []
}
],
"routes": [
{
"route": "/GetConversion",
"downstreamCalls": {
"currencyservice": "/Money"
},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
}
]
},
{
"route": "/Money",
"downstreamCalls": {},
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 100
}
]
}
],
"instances": [
"currencyservice-6b654dbf57-zq8dt",
"currencyservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 66219471499700,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
},
{
"serviceName": "adservice",
"tagSets": [
{
"tags": {},
"tagGenerators": [],
"inherit": [],
"maxLatency": 500
}
],
"routes": [
{
"route": "/AdRequest",
"downstreamCalls": {},
"tagSets": []
},
{
"route": "/Ad",
"downstreamCalls": {},
"tagSets": []
}
],
"instances": [
"adservice-6b654dbf57-zq8dt",
"adservice-d847fdcf5-j6s2f"
],
"mergedTagSets": {},
"random": {
"seed": 22694143111805,
"nextNextGaussian": 0,
"haveNextNextGaussian": false
}
}
]
},
"rootRoutes": [
{
"service": "frontend",
"route": "/product",
"tracesPerHour": 2880
},
{
"service": "frontend",
"route": "/cart",
"tracesPerHour": 14400
},
{
"service": "frontend",
"route": "/shipping",
"tracesPerHour": 480
},
{
"service": "frontend",
"route": "/currency",
"tracesPerHour": 200
},
{
"service": "frontend",
"route": "/checkout",
"tracesPerHour": 480
}
]
}
kind: ConfigMap
metadata:
name: synthetic-load-generator
namespace: default
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: synthetic-load-generator
name: xk6-tracing
namespace: default
spec:
minReadySeconds: 10
@@ -666,27 +28,18 @@ spec:
revisionHistoryLimit: 10
selector:
matchLabels:
app: synthetic_load_generator
name: synthetic-load-generator
app: xk6-tracing
name: xk6-tracing
template:
metadata:
labels:
app: synthetic_load_generator
name: synthetic-load-generator
app: xk6-tracing
name: xk6-tracing
spec:
containers:
- env:
- name: JAEGER_COLLECTOR_URL
value: http://tempo:14268
- name: TOPOLOGY_FILE
value: /conf/load-generator.json
image: omnition/synthetic-load-generator:1.0.25
- name: ENDPOINT
value: tempo:4317
image: ghcr.io/grafana/xk6-client-tracing:v0.0.2
imagePullPolicy: IfNotPresent
name: synthetic-load-gen
volumeMounts:
- mountPath: /conf
name: conf
volumes:
- configMap:
name: synthetic-load-generator
name: conf
name: xk6-tracing