alexanderzobnin / grafana-simracing-telemetry Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
For some reason the BrakeBias
is reported by the plugin as exactly 7.0% higher than what's displayed in game.
So if the game displays 61.0
the raw value will be 0.68
from the plugin.
Haven't dug into whether other tools found the same, or tried out other games.
There's an issue with accessing memory-mapped files when the program is running as a Windows service. In this mode Windows runs services in Session 0, but runs applications in other sessions. So when Grafana and game are run in different Sessions, then plugin cannot get access to the memory-mapped files created by the game.
Read more about Impact of Session 0 Isolation on Services and Drivers in Windows.
Hey, love what you did there. Can you elaborate a tad more on what are the requirements and the procedure to install it? Thx!
Hey Alexander,
first of all thank you very much for the great work!!!!
Do you think it would be possible to get GT7 work in Grafana Dashboards?
I´ve already opened UDP port 33740 in SimHub so i get some data from GT7 and can show them on a SimHub Dashboard.
So it should be possible to integrate that into Grafana right?
Any help would be appreciated
thanks
Hi there,
Just a little heads up, the Video linked in your readme is not visible without signing up to vimeo.
Would you be able to change that to make it public?
Or maybe upload to a different video provider e.g. YouTube?
Best regards,
Niklas
Not an issue so much as a report.
But here to say, great job 🎉.
Also was able to get this running on Linux with Proton, without much trouble.
I specifically used Proton 8.0-5 and a startup script along these lines:
#!/usr/bin/env bash
# Note: start the server AFTER staring the game through Steam!
# Steam tries to detect whether some process is still running and wait to launch the game.
# Meaning you'll wait forever so long as the grafana server is running.
# -- Configure these values
# Which steam dir is ACC installed in?
STEAM_DIR="~/.steam/steam"
# Where you've extracted the "grafana-bundled.windows-amd64.zip" version
# from https://github.com/alexanderzobnin/grafana-simracing-telemetry/releases
BUNDLE_DIR="~/Downloads/grafana-bundled.windows-amd64"
# -- From here probably no changes required
# WINEPREFIX for Assetto Corsa Competizione
ACC_PREFIX="$STEAM_DIR/steamapps/compatdata/805550"
# Working directory of Grafana bins.
GF_BIN_DIR="$BUNDLE_DIR/grafana-8.5.2/bin"
# Detect what Proton version was used last
PROTON=$(sed -n 4p "$ACC_PREFIX"/config_info | xargs -d '\n' dirname)
# Change the working directory to "/bin" within the Grafana installation.
# We need this, 1. for Grafana to infer what it's "homedir" is.
# 2. Because the included dashboards.yaml uses a relative path from here.
pushd "$GF_BIN_DIR"
# Runs the server.
# Ideally match WINEESYNC (E) or WINEFSYNC (F) to what the game is using.
# Rename the variable below so it's either:
# WINEESYNC=1 ...
# WINEFSYNC=1 ...
WINEFSYNC=1 WINEPREFIX="$ACC_PREFIX/pfx" "$PROTON/bin/wine64" "$GF_BIN_DIR/grafana-server.exe"
# Once the server is stopped, go back to our previous working directory.
popd
In Grafana, typically the datasources themselves handle math in their respective query languages. Like PromQL or SQL.
Haven't looked around the Go landscape for any packages that might help, but this could add some neat new possibilities.
For example:
CompletedLaps + NormalizedCarPosition
= Lap progress as a float(BrakeBias - 0.5) * 2.0
= BrakeBias but ranging from -1 to +1max(BrakeTempFL, BrakeTempFR, BrakeTempRL, BrakeTempRR)
= The temp of your hottest brakeDoing so with the current values would already be very useful.
Even crazier would be if time ranges could be supported. Something like:
max(RPMs[3s])
= The highest RPM of the last 3 seconds. (Useful for "sustaining" the RPM value when you shifted)sum(ABS[0.5s])
= Meaningless number to visualize ABS as an increasing value rather than flickering between 0/1Note that shows some design challenge in what max
and friends are supposed to do or take as arguments.
The one with time ranges is more like PromQL. The current value one closer to Math.max()
from JS.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.