* [doc only] bug 1615675: Document known telemetry antipatterns
A lot of the issues mentioned in the bug were addressed by previous
documentation work, but this addresses all of the remaining things there.
* Address PR comments
Otherwise this will fail with a error on MSVC:
fatal error LNK1181: cannot open input file 'm.lib'
We also don't need libc. `size_t` is properly defined, so we can
replicate that.
Additionally, applying the `controlfp` changes on MSVC seem to break the
tests anyway.
* Developer convenience: Use different venv dir for each Python version
* Fix CI
* Update docs/dev/python/setting-up-python-build-environment.md
Co-Authored-By: Jan-Erik Rediger <badboy@archlinux.us>
Co-authored-by: Jan-Erik Rediger <badboy@archlinux.us>
* 1604191: Python: run Glean work on a worker thread
* Implement tests
* Add another test
* Apply suggestions from code review
Co-Authored-By: William Lachance <wrlach@gmail.com>
* Convert docstring to comment
* Add docs about parallelism
* lint
* Remove unnecessary layer of indirection
Co-authored-by: William Lachance <wrlach@gmail.com>
They cause us more trouble than they are worth.
This is safe.
The only thing we did do in finalizers is cleaning up the allocated
object on the native Rust side.
Without these we now potentially leak memory.
_But_ metric types were already only used for metrics, and those are
statics, so they live for the entire application runtime.
Once the application is done and exits the Glean library will also be
unloaded and thus all its data be deallocated.
The only place where we create metrics at runtime is in tests.
So we're now leaking those in tests, but that should be fine.
As a side note: Java 9 deprecates finalizers in the language, Android
itself doesn't support Java 9 (yet) and has its own implementation of it
anyway, but that's nonetheless a good hint that finalizers might not be
the best idea afterall.
* Python: Fixes and release for 32-bit Windows
This addresses the following bugs to make 32-bit Windows builds pass the
unit tests.
1622909: Release 32-bit wheels for Windows
1623335: Functional bucketing fixes
1623587: Unable to detect locale on Windows
Also relevant (but a follow-on) is:
1623307: Add Windows tests to CI
* More contexts
* Fix CircleCI config
* Fix non-Windows-x86 platforms
* Document about unknown locales
* Add documentation about FPU control
* Add comment about default locale
* Use FloatingPointContext correctly, and everywhere floating point is used
* Also update locale docs in metrics.yaml
* "C" -> "und"
* Spellcheck
* Document floating point context purpose