mirror of
https://github.com/enso-org/enso.git
synced 2024-11-24 00:27:16 +03:00
a3914f33c1
API for storing metadata. See: https://www.pivotaltracker.com/story/show/181149277 # Important Notes **New APIs**: - Storing metadata is implemented with `profiler::MetadataLogger`. - A full metadata storage/retrieval example is in [the top-level doctests](https://github.com/enso-org/enso/blob/wip/kw/profiling-metadata-api/lib/rust/profiler/data/src/lib.rs) for profiler::data, a crate which implements an API for profiling data consumers (it abstracts away the low-level details of the event log, and checks its invariants in the process) [after review of this new API here I'll open a PR to add it to the design doc]. **Implementation**: - `profiler::Event` is parameterized by a metadata type, so that different types of metadata can be dependency-injected into it. - A data consumer defines its metadata type as an enum of all the kinds of metadata it is interested in. - Producing the metadata enum is accomplished without defining its type (which would require dependencies from around the app): A `MetadataLogger` internally use a serialization helper `Variant` to serialize its variant of the metadata enum without knowledge of the other possible variants. **Performance impact**: still in the low ns/measurement range, comparable to pushing to a vec. *Note*: `LocalVecBuilder` is currently present under the name `Log`, which is accurate but probably too overloaded. I'd like to find the right name for it, document it with examples, and move it to its own crate under data-structures, but I don't want doing that to hold up this PR.
42 lines
1.1 KiB
Plaintext
42 lines
1.1 KiB
Plaintext
# Catch All
|
|
* @4e6 @MichaelMauderer @PabloBuchu @jdunkerley
|
|
|
|
# Change log
|
|
CHANGELOG.md
|
|
|
|
# Rust Libraries and Related Files
|
|
rust-toolchain.toml @MichaelMauderer @4e6 @mwu-tow @farmaazon
|
|
rustfmt.toml @MichaelMauderer @4e6 @mwu-tow @farmaazon
|
|
Cargo.lock @MichaelMauderer @4e6 @mwu-tow @farmaazon
|
|
Cargo.toml @MichaelMauderer @4e6 @mwu-tow @farmaazon
|
|
/lib/rust/ @MichaelMauderer @4e6 @mwu-tow @farmaazon @wdanilo
|
|
/lib/rust/ensogl/ @MichaelMauderer @wdanilo @farmaazon
|
|
/integration-test/ @MichaelMauderer @wdanilo @farmaazon
|
|
|
|
# Scala Libraries
|
|
/lib/scala/ @4e6
|
|
|
|
# GUI
|
|
/run @MichaelMauderer @wdanilo
|
|
/build/ @MichaelMauderer @wdanilo
|
|
/app/gui/ @MichaelMauderer @wdanilo @farmaazon @mwu-tow
|
|
/app/gui/view/ @MichaelMauderer @wdanilo @farmaazon
|
|
/app/ide-desktop/ @MichaelMauderer @wdanilo
|
|
|
|
# Engine (old)
|
|
# This section should be removed once the engine moves to /app/engine
|
|
/build.sbt @4e6
|
|
/distribution/ @4e6
|
|
/engine/ @4e6
|
|
/project/ @4e6
|
|
/test/ @4e6 @jdunkerley @radeusgd
|
|
/tools/ @4e6
|
|
|
|
# Enso Libraries
|
|
# This section should be amended once the engine moves to /app/engine
|
|
/distribution/lib/ @4e6 @jdunkerley @radeusgd
|
|
/std-bits/ @4e6 @jdunkerley @radeusgd
|
|
|
|
# Engine
|
|
/app/engine/ @4e6
|