-
Notifications
You must be signed in to change notification settings - Fork 713
Use request_ctx
to determine whether or not _teardown_request
should end flask span
#1692
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
ocelotl
merged 31 commits into
open-telemetry:main
from
matthewgrossman:mg-use-request-id-instead-of-thread-id
Jun 13, 2023
Merged
Changes from 18 commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
d11ff88
Use `id(flask.request)` instead of `thread.get_ident()`
matthewgrossman fb9161d
use reqctx instead?
matthewgrossman 45198d7
try request ctx stack
matthewgrossman 19f4c3c
get a functional test
matthewgrossman b173c05
add conditional based on package_version
matthewgrossman df2085d
loosen constraints
matthewgrossman fe1bd89
weakref, not id()
matthewgrossman 6f7835a
lets pivot
matthewgrossman 4bcc1df
clean up
matthewgrossman 8e6905a
weakref version, attempting other branch now
matthewgrossman 8d5a391
fix comment
matthewgrossman 6b06283
fix type
matthewgrossman d82185e
fix comment
matthewgrossman 282da72
add packaging to requirements
matthewgrossman 3e1711c
Merge branch 'main' into mg-use-request-id-instead-of-thread-id
matthewgrossman 1b8ab68
Add to tox.ini
matthewgrossman 41a2eb7
push up again
matthewgrossman d599ac5
loosen dev requirements
matthewgrossman e573fea
Add to changelog
matthewgrossman 7be29f3
lint
matthewgrossman 1579401
Merge branch 'main' into mg-use-request-id-instead-of-thread-id
shalevr 774c34c
Merge branch 'main' into mg-use-request-id-instead-of-thread-id
matthewgrossman 7fdf90c
Merge branch 'mg-use-request-id-instead-of-thread-id' of github.com:m…
matthewgrossman 72136d6
format
matthewgrossman 103871b
format
matthewgrossman 10b49de
isort
matthewgrossman 76934fa
fix
matthewgrossman d5da755
fix markupsafe
matthewgrossman 356cf20
black
matthewgrossman 3098165
black
matthewgrossman 5aa045c
Merge branch 'main' into mg-use-request-id-instead-of-thread-id
ocelotl File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
52 changes: 52 additions & 0 deletions
52
instrumentation/opentelemetry-instrumentation-flask/tests/test_copy_context.py
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# Copyright The OpenTelemetry Authors | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
import flask | ||
from werkzeug.test import Client | ||
from werkzeug.wrappers import Response | ||
|
||
from opentelemetry.instrumentation.flask import FlaskInstrumentor | ||
from opentelemetry.test.wsgitestutil import WsgiTestBase | ||
|
||
# pylint: disable=import-error | ||
from .base_test import InstrumentationTest | ||
|
||
|
||
class TestCopyContext(InstrumentationTest, WsgiTestBase): | ||
def setUp(self): | ||
super().setUp() | ||
FlaskInstrumentor().instrument() | ||
self.app = flask.Flask(__name__) | ||
self._common_initialization() | ||
|
||
def tearDown(self): | ||
super().tearDown() | ||
with self.disable_logging(): | ||
FlaskInstrumentor().uninstrument() | ||
|
||
def test_copycontext(self): | ||
"""Test that instrumentation tear down does not blow up | ||
when the request calls functions where the context has been | ||
copied via `flask.copy_current_request_context` | ||
""" | ||
self.app = flask.Flask(__name__) | ||
self.app.route("/copy_context")( | ||
self._copy_context_endpoint | ||
) | ||
client = Client(self.app, Response) | ||
resp = client.get("/copy_context", headers={'x-req': 'a-header'}) | ||
|
||
self.assertEqual(200, resp.status_code) | ||
self.assertEqual('/copy_context', resp.json['span_name']) | ||
self.assertEqual('a-header', resp.json['request_header']) |
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
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.
Uh oh!
There was an error while loading. Please reload this page.