The demo application instrumented by OpenTelemetry framework.
deploymentsdirectory contains specific deployments templates filesapplicationsdirectory contains sources of the applicationaws-lambdas- contains sources of the CheckSweets and Sweets AWS lambda functionsdotnet-core-calculator-svc- contains sources of thecalculator-svcapplicationjs-the-coffee-bar-ui-clicker- contains sources of the puppeteer which clicks on the frontend applicationpython-the-coffee-bar-apps- contains sources ofthe-coffee-lover, the-coffee-bar, the-coffee-machineandthe-cashdeskapplicationsruby-the-coffee-bar-apps- contains sources ofmachine-svc, coffee-svc and water-svcapplicationsthe-coffee-bar-frontend- contains sources of the web UI application
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-bar-frontend
web application or the-coffee-lover app (traffic simulator). 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-bar-frontend- The Coffee Bar user interfacethe-coffee-loveris asking for espresso coffee by HTTP POST request with specific JSON tothe-coffee-barservice.the-coffee-baris sending the HTTP POST request tothe-coffee-machinewhich sends a request tomachine-svc.machine-svccallscoffee-svcandwater-svcfor ingredients and then prepares coffee.- When coffee is done
the-coffee-baris sending the payment request tothe-cashdesk. the-cashdeskapplication is queryingpostgresto get a coffee price and then sends a request tocalculator-svccalculator-svcis doing some simple mathematical operations.
the-coffee-bar-frontend- NodeJSthe-coffee-lover- Pythonthe-coffee-bar- Pythonlambdas- 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 @ [email protected]