Repository navigation
QFw: let the logs tier carry the client's story lines - #136
Merged
Merged
Conversation
A record is dropped at its logger when it sits below the logger's effective level, before any handler sees it, and a logger with no level of its own takes the root's. A DEFw service opens its root logger, so the QPM's lines left; a Qiskit client out of the box has the root at Python's default, WARNING, and the story lines are debug, so the client's two lines (submitted, completed) never reached the tier's handler and a trace's log panel showed only the QPM's half. The tier now opens QFw's own "qfw" namespace to its level when the root logger would not, keeps it open from logs_enabled() (a DEFw level change can raise the root above the tier again), and gives the namespace its level back on shutdown. Everything else in the process still answers to the root logger's level, so no library's debug output starts leaving a client because the tier is on. The mock fixture no longer opens the root logger for the story lines, so the suite exercises the quiet-root path a real client has. Signed-off-by: Doug Oucharek <dougso@me.com>
Collaborator
Author
|
Live check on the reference cluster: the telemetry install rebuilt from this branch, 30 site-mode fake-IQM jobs (
One trace ( |
This was referenced Oct 10, 2026
This file contains hidden or 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
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.
What
The QFw Trace page's "Log lines of this job" panel showed only the QPM's half of a job's story. The client's two lines (
submitted job ...,job ... completed after ...) never left the client process.Why
A record is dropped at its logger when it is below the logger's effective level, before any handler sees it, and a logger with no level of its own takes the root's. A DEFw service opens its root logger, a Qiskit client out of the box has it at Python's default
WARNING, and the story lines aredebug.How
qfwnamespace to its level when the root logger would not, re-asserts it fromlogs_enabled()(a later DEFw level change can raise the root again), and restores the namespace's level on shutdown.tests/mock/test_instrumentation.pyexercises the path a real client takes.docs/design/benchmarking.md.Checks
ci-syntax clean;
tests/test_qfw_telemetry.py19 passed;tests/mock/test_instrumentation.py8 passed. A live check on the cluster (client lines under the trace in Grafana) follows in a comment.