Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For this prototype, I have converted the yaml configuration file to JSON since it is easier to read in JS. There are various yaml libraries, so I can change it to yaml if needed.
For dynamic loading of modules, I have used the
import()
function. It is an async operation, which means that applying the configuration would by async. This in turn means that potentially some data may be missed during startup (if the app creates spans/metrics/logs immediately on startup). Alternatively, we could userequire()
, which is a synchronous call.The mapping of processor/exporter/etc. names to packages/classes will have to be hard-coded (or mapped somewhere).