-
Notifications
You must be signed in to change notification settings - Fork 183
[V2 Loggers] config file #1533
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
Merged
Merged
[V2 Loggers] config file #1533
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This was referenced Jan 18, 2024
Merged
bfineran
reviewed
Jan 18, 2024
bfineran
reviewed
Jan 22, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm pending comments
bfineran
approved these changes
Jan 23, 2024
horheynm
added a commit
that referenced
this pull request
Feb 15, 2024
* logger feature beanch * [V2 Logger] utils for import (#1536) * utils for import * clean up + tests * [V2 Logger] registry for default func/class (#1539) * registry for default func/class * prometheus logger * clean up * clean up * remove ListLogger import, moved to tests * add base logger for type checking * exmaple * [V2 Logger] Filters (#1540) * filters * cleaner logic * fix bug -- if config has duplicated tag.func with different freq * delete config test * move unravel_value_as_generator to pattern.py * tests * doc string * exact match * async submitter (#1538) * manager (#1541) * [V2 Loggers] logger manager patch (#1560) * manager * doc string * [V2 Loggers] config file (#1533) * config file * test * comments * comments * pipeline tests (#1553) * [V2 Logger] root logger (#1542) * root logger * only get func's with respect to the tag * fix bug for duplicated tag.log_type * clena up * doc strings: * loosen up rules for capture * [V2 Logger] factory (#1537) * factory * docstring * [V2 Logger] logger middleware (#1543) * logger middleware * yield individual eleeents in a list * comments * edit state * polish, passes tests * pass middleware * edit condition to add logger to inference state * set default logger manager * delete og prometheus logger test * fix in test_basic_logger * move loggers to legacy and pass tests, circular imports * move tests/deepsparse/loggers to tests/deepsparse/legacy/loggers and pass tests * move loggers_v2 to logger for src and tests, pass logger tests * fix tests and rename legacy logger tests to _legacy_ * pass tests, wait for async logs to complete' * doc string typo and change default to re:.* * fix frequency test bug on text gen * wait for async loggers to finish before counting * get rid of capture, inconsistent number of fields per log calls cause error
horheynm
added a commit
that referenced
this pull request
Feb 20, 2024
* logger feature beanch * [V2 Logger] utils for import (#1536) * utils for import * clean up + tests * [V2 Logger] registry for default func/class (#1539) * registry for default func/class * prometheus logger * clean up * clean up * remove ListLogger import, moved to tests * add base logger for type checking * exmaple * [V2 Logger] Filters (#1540) * filters * cleaner logic * fix bug -- if config has duplicated tag.func with different freq * delete config test * move unravel_value_as_generator to pattern.py * tests * doc string * exact match * async submitter (#1538) * manager (#1541) * [V2 Loggers] logger manager patch (#1560) * manager * doc string * [V2 Loggers] config file (#1533) * config file * test * comments * comments * pipeline tests (#1553) * [V2 Logger] root logger (#1542) * root logger * only get func's with respect to the tag * fix bug for duplicated tag.log_type * clena up * doc strings: * loosen up rules for capture * [V2 Logger] factory (#1537) * factory * docstring * [V2 Logger] logger middleware (#1543) * logger middleware * yield individual eleeents in a list * comments * edit state * polish, passes tests * pass middleware * edit condition to add logger to inference state * set default logger manager * delete og prometheus logger test * fix in test_basic_logger * move loggers to legacy and pass tests, circular imports * move tests/deepsparse/loggers to tests/deepsparse/legacy/loggers and pass tests * move loggers_v2 to logger for src and tests, pass logger tests * fix tests and rename legacy logger tests to _legacy_ * pass tests, wait for async logs to complete' * doc string typo and change default to re:.* * fix frequency test bug on text gen * wait for async loggers to finish before counting * get rid of capture, inconsistent number of fields per log calls cause error
horheynm
added a commit
that referenced
this pull request
Feb 22, 2024
* [V2 Logger] Feature branch (#1516) * logger feature beanch * [V2 Logger] utils for import (#1536) * utils for import * clean up + tests * [V2 Logger] registry for default func/class (#1539) * registry for default func/class * prometheus logger * clean up * clean up * remove ListLogger import, moved to tests * add base logger for type checking * exmaple * [V2 Logger] Filters (#1540) * filters * cleaner logic * fix bug -- if config has duplicated tag.func with different freq * delete config test * move unravel_value_as_generator to pattern.py * tests * doc string * exact match * async submitter (#1538) * manager (#1541) * [V2 Loggers] logger manager patch (#1560) * manager * doc string * [V2 Loggers] config file (#1533) * config file * test * comments * comments * pipeline tests (#1553) * [V2 Logger] root logger (#1542) * root logger * only get func's with respect to the tag * fix bug for duplicated tag.log_type * clena up * doc strings: * loosen up rules for capture * [V2 Logger] factory (#1537) * factory * docstring * [V2 Logger] logger middleware (#1543) * logger middleware * yield individual eleeents in a list * comments * edit state * polish, passes tests * pass middleware * edit condition to add logger to inference state * set default logger manager * delete og prometheus logger test * fix in test_basic_logger * move loggers to legacy and pass tests, circular imports * move tests/deepsparse/loggers to tests/deepsparse/legacy/loggers and pass tests * move loggers_v2 to logger for src and tests, pass logger tests * fix tests and rename legacy logger tests to _legacy_ * pass tests, wait for async logs to complete' * doc string typo and change default to re:.* * fix frequency test bug on text gen * wait for async loggers to finish before counting * get rid of capture, inconsistent number of fields per log calls cause error * fix src. reference (#1607) --------- Co-authored-by: Benjamin Fineran <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Config for validation
Description
Config yaml file has five top level properties: version, logging, system, performance and metric.
version is always 2, since its for v2 pipeline
logging is the name of the defined logging (class LoggingFoo: here the name is LoggingFoo) which are singletons (one instance per any Name).
Sys, Perf and Met are the three entry points to use the Logger.
System is for default python (import logging) logging
Performance is for logging any hardware, benchmark,..etc metric-related log (thing that are already defined).
Metric is for input related logging (output value based on inputs).
If logging has any args for instantiation, one can define as
For the three entry points, the top level after the root logger (system, metric, performance) is called the tag. Tags are used to filter out and log in any matching tag by regex.
Under tags, we have three (four in metrics) properties,
func is the function to apply to any value of interest to log.
freq is the rate to log once a matching entry is encountered.
uses: is a list to specify which logger to use, selected by logger_id
capture (metric only): key of the dict, property name to extract from the output of an operator, ran in logging middleware
In other words, for each root logger, what tags are we logging. With respect to tags, what function are we applying if any, at what rate and with respect to what loggers are we using
Root logger is a function of tags, tags are a fucntion of frequency, func and loggers.
Root logger(tag(freq, func, loggers, capture))
Examples
Default config without any inputs
TODO: Handlers