synapse/docs
Jorik Schellekens 38a6d3eea7
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
2019-07-11 10:36:03 +01:00
..
admin_api Clarify that the admin change password endpoint logs them out (#5303) 2019-05-31 09:45:46 +01:00
privacy_policy_templates/en Update documentation and templates for new consent 2018-10-12 17:53:14 -06:00
sphinx Run Black. (#5482) 2019-06-20 19:32:02 +10:00
.sample_config_header.yaml Reword the sample config header to be less scary (#4801) 2019-03-07 07:09:01 +00:00
ACME.md Fix nginx example in ACME doc. (#4923) 2019-03-25 09:59:36 +00:00
ancient_architecture_notes.rst move stuff out of implementation-notes - /everything/ here should be implementation-notes now 2014-11-12 00:18:25 +02:00
application_services.rst Fix link to A-S spec 2016-05-23 16:29:38 +01:00
architecture.rst move stuff out of implementation-notes - /everything/ here should be implementation-notes now 2014-11-12 00:18:25 +02:00
CAPTCHA_SETUP.rst Specify the type of reCAPTCHA key to use (#5013) 2019-05-28 22:04:27 -05:00
code_style.rst Add info about black to code_style.rst (#5537) 2019-06-24 17:48:05 +01:00
consent_tracking.md Add config variables for enabling terms auth and the policy name (#4142) 2018-11-06 10:32:34 +00:00
federate.md Neilj/improve federation docs (#5419) 2019-06-11 12:17:43 +01:00
log_contexts.rst Move logging utilities out of the side drawer of util/ and into logging/ (#5606) 2019-07-04 00:07:04 +10:00
manhole.md Notes on the manhole 2018-05-23 13:47:34 +01:00
media_repository.rst clarify these instructions a media-repo specific 2014-12-24 16:56:32 +00:00
metrics-howto.rst Make Prometheus snippet less confusing on the metrics collection doc (#4288) 2019-05-10 09:15:08 +01:00
MSC1711_certificates_FAQ.md Fix broken link in MSC1711 FAQ 2019-06-25 12:27:56 +01:00
password_auth_providers.rst Support 3PID login in password providers (#4931) 2019-03-26 17:48:30 +00:00
postgres.rst Remove Postgres 9.4 support (#5448) 2019-06-18 00:59:00 +10:00
README.rst move matrix-generic content to new matrix-doc git project 2014-10-09 20:38:00 +02:00
replication.rst Update replication docs 2017-04-11 16:21:12 +01:00
reverse_proxy.rst Update HAProxy example rules 2019-06-02 23:10:27 +08:00
sample_config.yaml Add basic opentracing support (#5544) 2019-07-11 10:36:03 +01:00
server_notices.md Add admin api for sending server_notices (#5121) 2019-05-02 11:59:16 +01:00
tcp_replication.rst Fix tightloop over connecting to replication server 2019-02-26 15:05:41 +00:00
turn-howto.rst Remove mention of lt-cred-mech in the sample coturn config. (#4333) 2018-12-28 23:31:49 +00:00
url_previews.md move url_previews to MD as RST does my head in 2017-10-29 20:47:17 +00:00
user_directory.md Fix docs on resetting the user directory (#5036) 2019-05-28 20:54:01 -05:00
workers.rst Update docs/workers.rst 2019-06-21 11:54:03 +01:00

All matrix-generic documentation now lives in its own project at

github.com/matrix-org/matrix-doc.git

Only Synapse implementation-specific documentation lives here now
(together with some older stuff will be shortly migrated over to matrix-doc)