This application provides a basic setup to try out metrics and tracing in Prisma. The application is a small webserver that has two endpoints.
-
/- the default runs a query to create a user and a post. - Then a query to get all users. -
/many- an endpoint that runs lots of adhoc queries with most of them in nested spans to give an overview of what that would look like
To get this running, run:
docker compose up -d
This creats a postgresdb, graphite for statsd, Prometheus, Jaeger for tracing and Grafana.
Migrate the db:
npx prisma migrate dev
Then seed the database:
node seed.js
At this point you can run the server:
npm run dev
In another terminal run:
ab -v 4 -c 10 -t 320 http://localhost:4000/
This will generate some activity. Stats will be sent to Statsd and Prometheus will scrape the /metrics endpoint.
Navigate to http://localhost:3000 to view grafana. You might need to login user/password: admin/admin.
Then click on the dashboard. There should be a Statsd and a Prometheus dashboard that you can navigate to and view the metrics.
Navigate to http://localhost:16686 to view the traces being generated. Select on the dropdown prisma-sample-app and click
find traces to view all of them. Clicking on them will give you a detailed view of each trace