Skip to content

Moar Tracing

Pre-release
Pre-release

Choose a tag to compare

@EmJayGee EmJayGee released this 22 Jul 20:47
· 184 commits to main since this release

Generally, added a lot of use of the tracing facility for the error paths in m::filesystem so that future failures can be most easily diagnosed by logs persisted from sinks.

Also found another defect in m::filesystem::load where if the file had shortened in the time since it was initially opened, the space between the new EOF and the old was returned as 0 (zero)s. Not the worst behavior but not good.

Moved the error handling macros to their own CMake project (m_error_handling) to untangle some of the dependency web since they depend on m_tracing.

Created a project, the purpose of which is solely to have headers which give the platform dependent string conversion and comparison operations.

The whole "I must be going!" "No, I must stay!" "No, but I really must be going!" nature of this relationship is annoying. I want to keep code that is behaving in a platform specific manner, especially something that's not even a universally agreed upon platform specific behavior (std::string == CP_ACP encoded strings for example) available as a choice, but certainly not by default.

But then on Linux, all five character types (7 if you keep char, signed char and unsigned char distinct, but I'm ignoring the latter two) are expected to be encodings of a UCS character code point.

It makes it difficult to have a smooth implementation surface area if you can't have trivial conversions to/from char on Windows.

What's Changed

  • Add stress test for loading and storing by @EmJayGee in #51
  • Added timestamp to filesystem monitor events by @EmJayGee in #52
  • Add tracing to the failure paths for the filesystem load, store and monitoring operations by @EmJayGee in #53

Full Changelog: v0.0.29...v0.0.30