-
Notifications
You must be signed in to change notification settings - Fork 613
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add high-speed data logging #3780
Conversation
Curious as to the rationale of this library as opposed to the myriad of standard logging facilities in Java currently. Is it meant to be smaller? Faster? Less overhead? |
Standard logging facilities are generally designed for string messages, not for binary data. So something custom like this is going to be faster with less overhead for the typical data (e.g. numbers) coming from a robot in real time (at least dozens, if not hundreds, of data points every ~20 ms). String formatting is significantly more expensive than just copying the binary number, and is more difficult to read back into analysis tools. Latency of the actual logging to the main program is also critical in our application. We also need a logging format and implementation that works in both C++ and Java. |
It looks very similar to the NTEntry API, and I assume that many teams will be using both logging and telemetry for the same value sources. Maybe merge the two, reusing symbols, or at least make it trivial to add logging to a telemetry setup and the other way around? |
My current plan is for the DataLogManager to write all NT value changes to the "main" data log. |
a6f0b14
to
74061ec
Compare
6a19027
to
ce2ce44
Compare
1be9844
to
a42919d
Compare
@virtuald for your awareness |
a42919d
to
1991d4e
Compare
52da984
to
b5e7667
Compare
0f5b2cf
to
427dfcc
Compare
This creates a default log file that captures NT changes and automatically renames the log file based on time and match info. DriverStation joystick logging will be implemented by the DriverStation class instead.
This is a support tool for datalog file conversion (and eventually download/remote datalog file management).
427dfcc
to
a51aa4c
Compare
Features:
TODO:
Fixes #2090.