{"id":24324140,"url":"https://github.com/cbos/application-observability-code-challenges","last_synced_at":"2025-08-10T23:35:37.073Z","repository":{"id":272828102,"uuid":"913506451","full_name":"cbos/application-observability-code-challenges","owner":"cbos","description":"Application Observability Code Challenges #AOCC","archived":false,"fork":false,"pushed_at":"2025-05-02T20:15:52.000Z","size":1396,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-02T21:24:02.877Z","etag":null,"topics":["aocc","java","observability","opentelemetry"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cbos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-07T20:20:10.000Z","updated_at":"2025-05-02T20:15:55.000Z","dependencies_parsed_at":"2025-01-16T21:40:04.721Z","dependency_job_id":"473d4173-bc9d-4040-9512-4c22138bb538","html_url":"https://github.com/cbos/application-observability-code-challenges","commit_stats":null,"previous_names":["cbos/application-observability-code-challenges"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cbos/application-observability-code-challenges","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbos%2Fapplication-observability-code-challenges","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbos%2Fapplication-observability-code-challenges/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbos%2Fapplication-observability-code-challenges/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbos%2Fapplication-observability-code-challenges/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cbos","download_url":"https://codeload.github.com/cbos/application-observability-code-challenges/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cbos%2Fapplication-observability-code-challenges/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269806560,"owners_count":24478243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aocc","java","observability","opentelemetry"],"created_at":"2025-01-17T19:32:49.435Z","updated_at":"2025-08-10T23:35:37.064Z","avatar_url":"https://github.com/cbos.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Application Observability Code Challenges](images/aocc_cover.png)\n\n# Application Observability Code Challenges\n![Badge](https://goto.ceesbos.nl/badge/github/cbos/application-observability-code-challenges)\n\nApplication Observability Code Challenges are a way to challenge yourself to improve the observability of a sample application. Of course, this application has some surprises that you probably did not expect.\nThese challenges will help you develop an observability mindset and become more familiar with your observability tools.\n\nSee the announcement blog about [Application Observability Code Challenges](https://goto.ceesbos.nl/aocc) for more information.\n\n## Goals\nThe goals of the challenges:\n- 🎉 - Have fun !\n- 🖵 - Learn to understand the behaviour of the code\n- 📈 - Learn how to use observability tools to understand code behaviour 📈\n- 🔍 - Spot the unexpected behaviour!\n- 🤗 - Practice and learn!\n- 🎁 - Share your findings and solution, either as a comment or as a pull request\n\nThe goal is not to discuss the libraries, frameworks or specific code implementation used, but to practice and learn!\n\n## What do the code challenges look like?\n\nThe first challenge is currently in preparation, but the plan is that you can easily run it locally.   \nMy background is in Java development, so most of the challenges I will provide will be Java challenges. I have a number of them in mind.\n\nThe challenge will be available in a git repository, all prepared to run on your system as smooth as possible.\nThe application will already produce some telemetry data with OpenTelemetry.  \nThe **challenge** is to find the problem and **extend the observability** to get better insights and also **proof** that a potential **solution works** as expected.\n\nUsing the [Observability Toolkit](https://github.com/cbos/observability-toolkit) you can easily spin up OpenTelemetry and Grafana based observability tools.   \nYou can then run a sample application and a test script.   \nIn Grafana you can see the first results, then it is up to you to continue. Some hints will be provided.\n\nThe whole setup will look like this:    \n![Application Observability flow](images/flow.png)\n\n## Online environment(s)\n\nBesides running it locally, you can use an online Killercoda environment, [https://killercoda.com/observability-code-challenges](https://goto.ceesbos.nl/aocckk).   \nBy default you can use an online environment for 60 minutes, then it stops automatically.\nWith killercoda you don't have to mess with your local machine and it will give you some more guidance.\n\nIf you are like to use devcontainers, please create an incident or a pull request 😀.\n\n## Your own stack\n\nIf you usually use other observability tools, I encourage you to use them!   \nThe sample application is prepared to send data using OpenTelemetry, so any setup that supports OTLP will work.\n\n![Application Observability flow with own stack](images/flow_with_own_stack.png)\n\n# Challenges\n\n- [Challenge 1](challenge-01/README.md) - Spring boot with Jersey/JAX-RS REST endpoint with some strange behaviour 🤔\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcbos%2Fapplication-observability-code-challenges","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcbos%2Fapplication-observability-code-challenges","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcbos%2Fapplication-observability-code-challenges/lists"}