Overview
This page showcases getting started with Tracetest Core by using the Tracetest CLI, Docker, or Kubernetes.
This simple installation includes a demo app called Pokeshop that will be installed alongside Tracetest Core. It shows how to configure OpenTelemetry and Tracetest Core and the architecture of the Pokeshop sample app.
Install the Tracetest CLI​
- MAC
- LINUX
- WINDOWS
brew install kubeshop/tracetest/tracetest
curl -L https://raw.githubusercontent.com/kubeshop/tracetest/main/install-cli.sh | bash
choco source add --name=kubeshop_repo --source=https://chocolatey.kubeshop.io/chocolatey ; choco install tracetest
Read the CLI installation reference here.
Install the Tracetest Server​
Tracetest Core runs as a standalone container. It runs a Server and exposes a Web UI on port 11633
.
You have three options to install Tracetest Server:
- Using the Tracetest CLI to guide your installation in Docker and Kubernetes.
- Using the official Helm chart.
- Using the Docker Compose Quick Start with the Pokeshop Sample App.
- Tracetest CLI
- Helm Chart
- Docker Compose
tracetest server install
- Docker Compose
- Kubernetes
How do you want to run Tracetest? [type to search]:
> Using Docker Compose
Using Kubernetes
Choose to install Tracetest with the OpenTelemetry Collector and the Pokeshop sample app.
Do you have OpenTelemetry based tracing already set up, or would you like us to install a demo tracing environment and app? [type to search]:
I have a tracing environment already. - Just install Tracetest.
> Just learning tracing! Install Tracetest, OpenTelemetry Collector and the sample app.
Choosing any option, this installer will create a tracetest
directory in the current directory and add a docker-compose.yaml
file to it.
- If you choose the first option, the
docker-compose.yaml
will have only Tracetest Core and its dependencies. - By choosing the second option, a sample app called Pokeshop will be installed with Tracetest Core, allowing you to create sample tests right away!
Click to view Pokeshop Sample App Architecture
Here's the Architecture of the Pokeshop Sample App:
- an API that serves client requests,
- a Worker who deals with background processes.
The communication between the API and Worker is made using a RabbitMQ
queue, and both services emit telemetry data to OpenTelemetry Collector and communicate with a Postgres database.
Tracetest triggers tests against the Node.js API.
Start Docker Compose from the directory where you ran tracetest server install
.
docker compose -f tracetest/docker-compose.yaml up -d
This will start the Tracetest Server and expose the Web UI on http://localhost:11633
.
How do you want to run TraceTest? [type to search]:
Using Docker Compose
> Using Kubernetes
Choose to install Tracetest Core with the OpenTelemetry Collector and the Pokeshop sample app.
Do you have OpenTelemetry based tracing already set up, or would you like us to install a demo tracing environment and app? [type to search]:
I have a tracing environment already - Just install Tracetest.
> Just learning tracing! Install Tracetest, OpenTelemetry Collector and the sample app.
Choosing any option, this installer will create a tracetest
namespace in the Kubernetes context you choose and create deployments for Tracetest Core and its dependencies.
- If you choose the first option, the
tracetest
namespace will only contain Tracetest Core and its dependencies. - By choosing the second option, a sample app called Pokeshop will be installed in a
demo
namespace alongside Tracetest Core, allowing you to create sample tests right away!
Click to view Pokeshop Sample App Architecture
Here's the Architecture of the Pokeshop Sample App:
- an API that serves client requests,
- a Worker who deals with background processes.
The communication between the API and Worker is made using a RabbitMQ
queue, and both services emit telemetry data to OpenTelemetry Collector and communicate with a Postgres database.
Tracetest triggers tests against the Node.js API.
Access the Tracetest Server by port forwarding to the Tracetest service
.
export POD_NAME=$(kubectl get pods --namespace demo -l "app.kubernetes.io/name=pokemon-api,app.kubernetes.io/instance=demo" -o jsonpath="{.items[0].metadata.name}")
export CONTAINER_PORT=$(kubectl get pod --namespace demo $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
kubectl --namespace demo port-forward $POD_NAME 8080:$CONTAINER_PORT
echo "Open http://127.0.0.1:8080 to view the Pokeshop demo app"
kubectl --kubeconfig <path-to-your-home>/.kube/config --context <your-cluster-context> --namespace tracetest port-forward svc/tracetest 11633
echo "Open http://127.0.0.1:11633 to view the Tracetest Web UI"
Access the Tracetest Web UI on http://localhost:11633
.
First, be sure that you have Helm installed in your machine.
The Tracetest Helm charts are located here.
You can install them locally on your machine with the command:
helm repo add kubeshop https://kubeshop.github.io/helm-charts
helm repo update
After that, you can install Tracetest with helm install
:
helm install tracetest kubeshop/tracetest --namespace=tracetest --create-namespace
Or, generate a manifest file and apply it manually in your Kubernetes cluster:
helm template tracetest kubeshop/tracetest > tracetest-kubernetes-manifests.yaml
kubectl apply -f ./tracetest-kubernetes-manifests.yaml
Access the Tracetest Server by port forwarding to the Tracetest service
.
kubectl --kubeconfig <path-to-your-home>/.kube/config --context <your-cluster-context> --namespace tracetest port-forward svc/tracetest 11633
Access the Tracetest Web UI on http://localhost:11633
.
First, be sure that you have Docker installed in your machine.
The Quick Start with the Pokeshop Sample App is located here.
The docker-compose.yaml
contains Tracetest Core, the OpenTelemetry Collector, and a sample app called Pokeshop. This allows you to create sample tests right away!
Click to view Pokeshop Sample App Architecture
Here's the Architecture of the Pokeshop Sample App:
- an API that serves client requests,
- a Worker who deals with background processes.
The communication between the API and Worker is made using a RabbitMQ
queue, and both services emit telemetry data to OpenTelemetry Collector and communicate with a Postgres database.
Tracetest triggers tests against the Node.js API.
Start Docker Compose.
docker compose -f docker-compose.yaml up -d
This will start the Tracetest Server and expose the Web UI on http://localhost:11633
.
Tracetest requires that you have OpenTelemetry instrumentation added in your code, and configured sending traces to a trace data store, or Tracetest directly.
Follow these instructions to install OpenTelemetry in 5 minutes without any code changes!