Skip to content
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

fix(logging): Enhance logging for here matching progress #1694

Merged
merged 8 commits into from
Feb 28, 2024

Conversation

MichaelsJP
Copy link
Member

Implement a more declarative usage of the logging facility, since it's the recommended way to use this package. It includes better readability, straightforward log delegation to the system logger, shared logging facility, sensible update interval instead of the modulo check and the removal of a random memory leak from the for-with implementation by using the builder class. It should be termination safe, but somehow isn't always.

Pull Request Checklist

  • 1. I have rebased the latest version of the main branch into my feature branch and all conflicts
    have been resolved.
  • 2. I have added information about the change/addition to functionality to the CHANGELOG.md file under the
    [Unreleased] heading.
  • 3. I have documented my code using JDocs tags.
  • 4. I have removed unnecessary commented out code, imports and System.out.println statements.
  • 5. I have written JUnit tests for any new methods/classes and ensured that they pass.
  • 6. I have created API tests for any new functionality exposed to the API.
  • 7. If changes/additions are made to the ors-config.json file, I have added these to the ors config documentation
    along with a short description of what it is for, and documented this in the Pull Request (below).
  • 8. I have built graphs with my code of the Heidelberg.osm.gz file and run the api-tests with all test passing
  • 9. I have referenced the Issue Number in the Pull Request (if the changes were from an issue).
  • 10. For new features or changes involving building of graphs, I have tested on a larger dataset
    (at least Germany), and the graphs build without problems (i.e. no out-of-memory errors).
  • 11. For new features or changes involving the graphbuilding process (i.e. changing encoders, updating the
    importer etc.), I have generated longer distance routes for the affected profiles with different options
    (avoid features, max weight etc.) and compared these with the routes of the same parameters and start/end
    points generated from the current live ORS.
    If there are differences then the reasoning for these MUST be documented in the pull request.
  • 12. I have written in the Pull Request information about the changes made including their intended usage
    and why the change was needed.
  • 13. For changes touching the API documentation, I have tested that the API playground renders correctly.

Fixes # .

Information about the changes

  • Key functionality added:
  • Reason for change:

Examples and reasons for differences between live ORS routes, and those generated from this pull request

Required changes to ors config (if applicable)

@github-actions github-actions bot added the fix label Feb 19, 2024
@MichaelsJP MichaelsJP force-pushed the fix/progress-bar branch 15 times, most recently from 08ce875 to e30af62 Compare February 20, 2024 17:46
@MichaelsJP MichaelsJP requested a review from aoles February 21, 2024 08:26
@github-actions github-actions bot added fix and removed fix labels Feb 21, 2024
@MichaelsJP MichaelsJP marked this pull request as draft February 21, 2024 11:26
Implement a more declarative usage of the logging facility, since it's the recommended way to use this package. It includes better readability, straightforward log delegation to the system logger, shared logging facility, sensible update interval instead of the modulo check and the removal of a random memory leak from the for-with implementation by using the builder class. It should be termination safe, but somehow isn't always. The progressbar is now configured to use the ConsoleProgressBarConsumer with a defined printStream. The printStream allows overwriting of prior lines with a carriage return and an uncomplicated configuration of the log level.
Graphhopper throws an IllegalArgumentException when the matching fails. This is to be expected when matching here traffic on osm files without the corresponding edges. The exception is caught and logged as a trace to avoid cluttering the log with expected exceptions.
@MichaelsJP MichaelsJP force-pushed the fix/progress-bar branch 2 times, most recently from 0bc27ab to 8d0d7e3 Compare February 26, 2024 14:45
@MichaelsJP MichaelsJP marked this pull request as ready for review February 26, 2024 14:51
@github-actions github-actions bot added fix and removed fix labels Feb 26, 2024
The class is designed to capture the current console pattern and output the progress bar in one line instead of multiple by keeping the style. Some very trivial tests are added to the custom class to ensure correct initialization. Once the progress is done, the bar automatically gets deleted from the log output.
This package is needed by something in the RoutingProfileLoader
@sfendrich sfendrich self-requested a review February 28, 2024 09:09
@github-actions github-actions bot added fix and removed fix labels Feb 28, 2024
@jhaeu jhaeu assigned sfendrich and unassigned aoles Feb 28, 2024
@sfendrich sfendrich removed their assignment Feb 28, 2024
Copy link
Contributor

@sfendrich sfendrich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thank you!

@sfendrich sfendrich merged commit 4ff293e into main Feb 28, 2024
15 checks passed
@sfendrich sfendrich deleted the fix/progress-bar branch February 28, 2024 12:44
@MichaelsJP MichaelsJP added this to the V8 Release milestone Mar 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Status: Awaiting release
Development

Successfully merging this pull request may close these issues.

3 participants