Simulates a duel and streams live updates. Live: https://asarkar-duel.herokuapp.com/
- Ktor: For server-side Websocket and session.
- Kodein-DI: For KOtlin DEpendency INjection.
- grpc-kotlin: For bidirectional gRPC streaming modelled as Kotlin
Flow
. - Vue.js: For client UI.
Run ./gradlew clean run
and go to the URL shown on the console once the application has started.
To run from inside IntelliJ, create a new Run Configuration as shown below:
- Commit all changes locally.
heroku login
git push heroku master
heroku logs --tail
heroku open
See this
article about how to generate an API key. This key can then be set as HEROKU_API_KEY
environment variable.
opentelemetry-java-instrumentation works OOTB.
Steps:
- Download opentelemetry-javaagent-all.jar.
- Start Jaegar Docker container locally:
docker run --rm -it --name jaeger \ -p 16686:16686 \ -p 14250:14250 \ jaegertracing/all-in-one
- Start application:
java -javaagent:/path/to/opentelemetry-javaagent-all.jar \ -Dotel.exporter=jaeger \ -Dotel.jaeger.service.name=duel \ -Dotel.jaeger.endpoint=localhost:14250 \ -jar build/libs/duel.jar
- Go to http://0.0.0.0:8080/ and click on Start button.
- Go to http://localhost:16686/ and search for traces.