The demo application instrumented by OpenTelemetry framework.
dockerization
directory contains docker-compose filesapplications
directory contains sources of the applicationdotnet-core-calculator-svc
- contains sources of thecalculator-svc
applicationruby-the-coffee-bar-apps
- contains sources ofmachine-svc, coffee-svc and water-svc
applicationspython-the-coffee-bar-apps
- contains sources ofthe-coffee-lover, the-coffee-bar, the-coffee-machine
andthe-cashdesk
applicationsthe-cashdesk
responsible for simple accounting and queries on the PostgreSQL DB
scripts
- directory contains build scripts
- Installed docker
- Installed docker-compose
Execute the build script build_local_all.sh
from scripts
directory. The script is going to build all of the
applications in the docker images. To run the application execute docker-compose up
command in the dockerization
directory.
The Coffee Bar is an application designed to test instrumentation possibilities using the OpenTelemetry framework. The application consists of several small services written in various languages, including Python, Ruby and ASP .NET Core.
Like in the real italian coffee bar there is espresso and his fans. The coffee enthusiast role goes to the-coffee-lover
app. the-coffee-bar
is a small italian bar where the-coffee-machine
and the-cashdesk
are located.
the-coffee-machine
with her parts: machine-svc
responsible for coffee preparation, coffee-svc
responsible for
providing coffee beans and water-svc
responsible for water provision. The espresso coffee is not for free.
Payment is handled by the-cashdesk
. To be sure that the sum to be paid is correct, calculator-svc
is present.
the-coffee-lover
is asking for espresso coffee by HTTP POST request with specific JSON tothe-coffee-bar
service.the-coffee-bar
is sending the HTTP POST request tothe-coffee-machine
which sends a request tomachine-svc
.machine-svc
callscoffee-svc
andwater-svc
for ingredients and then prepares coffee.- When coffee is done
the-coffee-bar
is sending the payment request tothe-cashdesk
. the-cashdesk
application is queryingpostgres
to get a coffee price and then sends a request tocalculator-svc
calculator-svc
is doing some simple mathematical operations.
the-coffee-lover
- Pythonthe-coffee-bar
- Pythonthe-coffee-machine
- Pythonmachine-svc
- Rubycoffee-svc
- Rubymachine-svc
- Ruby
the-cashdesk
- Pythoncalculator-svc
- ASP .NET Corepostgres
In case of any issues please contact Mateusz 'mat' Rumian @ mrumian@sumologic.com