|
1 | 1 | from functools import partial |
| 2 | +import json |
2 | 3 | import random |
3 | 4 | import string |
4 | 5 |
|
| 6 | +from six import BytesIO |
| 7 | + |
5 | 8 | from ddtrace import Span |
6 | 9 | from ddtrace import __version__ as ddtrace_version |
7 | 10 |
|
8 | 11 |
|
9 | 12 | _Span = Span |
10 | 13 |
|
| 14 | +PATH = "/test-benchmark/test/1/" |
| 15 | + |
| 16 | +EXAMPLE_POST_DATA = {f"example_key_{i}": f"example_value{i}" for i in range(100)} |
| 17 | + |
| 18 | +COMMON_DJANGO_META = { |
| 19 | + "SERVER_PORT": "8000", |
| 20 | + "REMOTE_HOST": "", |
| 21 | + "CONTENT_LENGTH": "", |
| 22 | + "SCRIPT_NAME": "", |
| 23 | + "SERVER_PROTOCOL": "HTTP/1.1", |
| 24 | + "SERVER_SOFTWARE": "WSGIServer/0.2", |
| 25 | + "REQUEST_METHOD": "GET", |
| 26 | + "PATH_INFO": PATH, |
| 27 | + "QUERY_STRING": "func=subprocess.run&cmd=%2Fbin%2Fecho+hello", |
| 28 | + "REMOTE_ADDR": "127.0.0.1", |
| 29 | + "CONTENT_TYPE": "application/json", |
| 30 | + "HTTP_HOST": "localhost:8000", |
| 31 | + "HTTP_CONNECTION": "keep-alive", |
| 32 | + "HTTP_CACHE_CONTROL": "max-age=0", |
| 33 | + "HTTP_SEC_CH_UA": '"Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"', |
| 34 | + "HTTP_SEC_CH_UA_MOBILE": "?0", |
| 35 | + "HTTP_UPGRADE_INSECURE_REQUESTS": "1", |
| 36 | + "HTTP_ACCEPT": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp," |
| 37 | + "image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", |
| 38 | + "HTTP_SEC_FETCH_SITE": "none", |
| 39 | + "HTTP_SEC_FETCH_MODE": "navigate", |
| 40 | + "HTTP_SEC_FETCH_USER": "?1", |
| 41 | + "HTTP_SEC_FETCH_DEST": "document", |
| 42 | + "HTTP_ACCEPT_ENCODING": "gzip, deflate, br", |
| 43 | + "HTTP_ACCEPT_LANGUAGE": "en-US,en;q=0.9", |
| 44 | + "HTTP_COOKIE": "Pycharm-45729245=449f1b16-fe0a-4623-92bc-418ec418ed4b; Idea-9fdb9ed8=" |
| 45 | + "448d4c93-863c-4e9b-a8e7-bbfbacd073d2; csrftoken=cR8TVoVebF2afssCR16pQeqHcxA" |
| 46 | + "lA3867P6zkkUBYDL5Q92kjSGtqptAry1htdlL; _xsrf=2|d4b85683|7e2604058ea673d12dc6604f" |
| 47 | + '96e6e06d|1635869800; username-localhost-8888="2|1:0|10:1637328584|23:username-loca' |
| 48 | + "lhost-8888|44:OWNiOTFhMjg1NDllNDQxY2I2Y2M2ODViMzRjMTg3NGU=|3bc68f938dcc081a9a02e51660" |
| 49 | + '0c0d38b14a3032053a7e16b180839298e25b42"', |
| 50 | + "wsgi.input": BytesIO(bytes(json.dumps(EXAMPLE_POST_DATA), encoding="utf-8")), |
| 51 | + "wsgi.url_scheme": "http", |
| 52 | +} |
| 53 | + |
11 | 54 | # DEV: 1.x dropped tracer positional argument |
12 | 55 | if ddtrace_version.split(".")[0] == "0": |
13 | 56 | _Span = partial(_Span, None) |
|
0 commit comments