-
- Downloads
Add basic opentracing support (#5544)
* Configure and initialise tracer
Includes config options for the tracer and sets up JaegerClient.
* Scope manager using LogContexts
We piggy-back our tracer scopes by using log context.
The current log context gives us the current scope. If new scope is
created we create a stack of scopes in the context.
* jaeger is a dependency now
* Carrier inject and extraction for Twisted Headers
* Trace federation requests on the way in and out.
The span is created in _started_processing and closed in
_finished_processing because we need a meaningful log context.
* Create logcontext for new scope.
Instead of having a stack of scopes in a logcontext we create a new
context for a new scope if the current logcontext already has a scope.
* Remove scope from logcontext if logcontext is top level
* Disable tracer if not configured
* typo
* Remove dependence on jaeger internals
* bools
* Set service name
* :Explicitely state that the tracer is disabled
* Black is the new black
* Newsfile
* Code style
* Use the new config setup.
* Generate config.
* Copyright
* Rename config to opentracing
* Remove user whitelisting
* Empty whitelist by default
* User ConfigError instead of RuntimeError
* Use isinstance
* Use tag constants for opentracing.
* Remove debug comment and no need to explicitely record error
* Two errors a "s(c)entry"
* Docstrings!
* Remove debugging brainslip
* Homeserver Whitlisting
* Better opentracing config comment
* linting
* Inclue worker name in service_name
* Make opentracing an optional dependency
* Neater config retreival
* Clean up dummy tags
* Instantiate tracing as object instead of global class
* Inlcude opentracing as a homeserver member.
* Thread opentracing to the request level
* Reference opetnracing through hs
* Instantiate dummy opentracin g for tests.
* About to revert, just keeping the unfinished changes just in case
* Revert back to global state, commit number:
9ce4a3d9067bf9889b86c360c05ac88618b85c4f
* Use class level methods in tracerutils
* Start and stop requests spans in a place where we
have access to the authenticated entity
* Seen it, isort it
* Make sure to close the active span.
* I'm getting black and blue from this.
* Logger formatting
Co-Authored-By:
Erik Johnston <erik@matrix.org>
* Outdated comment
* Import opentracing at the top
* Return a contextmanager
* Start tracing client requests from the servlet
* Return noop context manager if not tracing
* Explicitely say that these are federation requests
* Include servlet name in client requests
* Use context manager
* Move opentracing to logging/
* Seen it, isort it again!
* Ignore twisted return exceptions on context exit
* Escape the scope
* Scopes should be entered to make them useful.
* Nicer decorator names
* Just one init, init?
* Don't need to close something that isn't open
* Docs make you smarter
Showing
- changelog.d/5544.misc 1 addition, 0 deletionschangelog.d/5544.misc
- docs/sample_config.yaml 17 additions, 0 deletionsdocs/sample_config.yaml
- synapse/app/_base.py 3 additions, 0 deletionssynapse/app/_base.py
- synapse/config/homeserver.py 2 additions, 0 deletionssynapse/config/homeserver.py
- synapse/config/tracer.py 50 additions, 0 deletionssynapse/config/tracer.py
- synapse/federation/transport/server.py 21 additions, 5 deletionssynapse/federation/transport/server.py
- synapse/http/matrixfederationclient.py 24 additions, 4 deletionssynapse/http/matrixfederationclient.py
- synapse/http/servlet.py 6 additions, 1 deletionsynapse/http/servlet.py
- synapse/logging/context.py 6 additions, 2 deletionssynapse/logging/context.py
- synapse/logging/opentracing.py 362 additions, 0 deletionssynapse/logging/opentracing.py
- synapse/logging/scopecontextmanager.py 140 additions, 0 deletionssynapse/logging/scopecontextmanager.py
- synapse/python_dependencies.py 1 addition, 0 deletionssynapse/python_dependencies.py
Loading
Please register or sign in to comment