Skip to content
This repository was archived by the owner on Jan 23, 2024. It is now read-only.

Commit ff08e49

Browse files
authored
Integration test only 6.2 (#40)
* do not copy pycs into container * complete es rename started in c8102fb * reduce noise from tornado * catch up with various renames * app -> service * trace -> span * transaction_id -> transaction.id * test only 6.x/master * bump es & kibana to latest release * wait variable amount of time for indexing to complete * bump up apm server queue depth * updated changes to match master of python agent These are changes introduced by elastic/apm-agent-python#119 * run flask app as __main__ as the test cases expect
1 parent df13b40 commit ff08e49

File tree

22 files changed

+125
-131
lines changed

22 files changed

+125
-131
lines changed

.dockerignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
__pycache__/
2+
*.py[cod]

docker/apm_server/apm-server.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ apm-server:
1212
# Authorization token to be checked. If a token is set here the agents must
1313
# send their token in the following format: Authorization: Bearer <secret-token>
1414
#secret_token:
15+
16+
concurrent_requests: 1000
1517

1618
#============================== Kibana =====================================
1719

docker/nodejs/express/app.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use strict'
22

33
var apm = require('elastic-apm-node').start({
4-
appName: process.env.EXPRESS_APP_NAME,
4+
serviceName: process.env.EXPRESS_APP_NAME,
55
flushInterval: 1,
66
maxQueueSize: 1,
77
secretToken: '1234',
@@ -25,9 +25,9 @@ app.get("/foo", function(req, res) {
2525
});
2626

2727
function foo_route () {
28-
var trace = apm.buildTrace()
29-
trace.start('app.foo')
30-
trace.end()
28+
var span = apm.buildSpan()
29+
span.start('app.foo')
30+
span.end()
3131
}
3232

3333
app.get("/bar", function(req, res) {
@@ -36,16 +36,16 @@ app.get("/bar", function(req, res) {
3636
});
3737

3838
function bar_route () {
39-
var trace = apm.buildTrace()
40-
trace.start('app.bar')
39+
var span = apm.buildSpan()
40+
span.start('app.bar')
4141
extra_route()
42-
trace.end()
42+
span.end()
4343
}
4444

4545
function extra_route () {
46-
var trace = apm.buildTrace()
47-
trace.start('app.extra')
48-
trace.end()
46+
var span = apm.buildSpan()
47+
span.start('app.extra')
48+
span.end()
4949
}
5050

5151
app.use(apm.middleware.express())

docker/python/django/start.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ set -ex
44

55
if [[ -z ${PYTHON_AGENT_VERSION} ]] ||
66
[[ -z ${PYTHON_AGENT_VERSION_STATE} ]] ||
7-
[[ -z ${DJANGO_APP_NAME} ]] ||
7+
[[ -z ${DJANGO_SERVICE_NAME} ]] ||
88
[[ -z ${DJANGO_PORT} ]]; then
9-
echo "PYTHON_AGENT_VERSION, PYTHON_AGENT_VERSION_STATE, DJANGO_APP_NAME and DJANGO_PORT expected."
9+
echo "PYTHON_AGENT_VERSION, PYTHON_AGENT_VERSION_STATE, DJANGO_SERVICE_NAME and DJANGO_PORT expected."
1010
exit 2
1111
fi
1212
if [[ -z ${APM_SERVER_URL} ]]; then
@@ -21,7 +21,7 @@ fi
2121

2222
echo "PYTHON_AGENT_VERSION: ${PYTHON_AGENT_VERSION}, ${PYTHON_AGENT_VERSION_STATE}"
2323

24-
docker build --pull -t ${DJANGO_APP_NAME} -f ./docker/python/django/Dockerfile .
24+
docker build --pull -t ${DJANGO_SERVICE_NAME} -f ./docker/python/django/Dockerfile .
2525

2626

2727
if [[ ${PYTHON_AGENT_VERSION_STATE} == "release" ]]; then
@@ -31,13 +31,13 @@ else
3131
fi
3232

3333
docker run -d \
34-
--name ${DJANGO_APP_NAME} \
34+
--name ${DJANGO_SERVICE_NAME} \
3535
--network=${NETWORK} \
3636
-p ${DJANGO_PORT}:${DJANGO_PORT} \
37-
-e DJANGO_APP_NAME=${DJANGO_APP_NAME} \
37+
-e DJANGO_SERVICE_NAME=${DJANGO_SERVICE_NAME} \
3838
-e DJANGO_PORT=${DJANGO_PORT} \
3939
-e APM_SERVER_URL=${APM_SERVER_URL} \
40-
--rm "${DJANGO_APP_NAME}" \
40+
--rm "${DJANGO_SERVICE_NAME}" \
4141
/bin/bash \
4242
-c "pip install -U ${install_cmd}
4343
python testapp/manage.py runserver 0.0.0.0:${DJANGO_PORT}"

docker/python/django/testapp/bar/views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ def show(request):
88
return HttpResponse(bar())
99

1010

11-
@elasticapm.trace()
11+
@elasticapm.capture_span()
1212
def bar():
1313
extra()
1414
return "bar"
1515

1616

17-
@elasticapm.trace()
17+
@elasticapm.capture_span()
1818
def extra():
1919
return "extra"

docker/python/django/testapp/foo/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ def show(request):
88
return HttpResponse(foo())
99

1010

11-
@elasticapm.trace()
11+
@elasticapm.capture_span()
1212
def foo():
1313
return "foo"

docker/python/django/testapp/testapp/settings.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,11 @@
4141
]
4242

4343
ELASTIC_APM = {
44-
'APP_NAME': os.environ['DJANGO_APP_NAME'],
44+
'SERVICE_NAME': os.environ['DJANGO_SERVICE_NAME'],
4545
'SERVER_URL': os.environ['APM_SERVER_URL'],
46-
'SERVER': os.environ['APM_SERVER_URL'],
4746
'SERVER_URL': os.environ['APM_SERVER_URL'],
4847
'SECRET_TOKEN': '1234_test',
49-
'TRACES_SEND_FREQ': 1,
48+
'TRANSACTION_SEND_FREQ': 1,
5049
'MAX_EVENT_QUEUE_LENGTH': 1,
5150
'TRANSACTIONS_IGNORE_PATTERNS': ['.*healthcheck']
5251
}

docker/python/flask/app.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,10 @@
1212

1313
app.config['ELASTIC_APM'] = {
1414
'DEBUG': True,
15-
'TRACES_SEND_FREQ': 1,
15+
'TRANSACTION_SEND_FREQ': 1,
1616
'MAX_EVENT_QUEUE_LENGTH': 1,
1717
'SERVER_URL': os.environ['APM_SERVER_URL'],
18-
'SERVER': os.environ['APM_SERVER_URL'],
19-
'APP_NAME': os.environ['FLASK_APP_NAME'],
18+
'SERVICE_NAME': os.environ['FLASK_SERVICE_NAME'],
2019
'SECRET_TOKEN': '1234',
2120
'TRANSACTIONS_IGNORE_PATTERNS': ['.*healthcheck']
2221
}
@@ -38,7 +37,7 @@ def foo_route():
3837
return foo()
3938

4039

41-
@elasticapm.trace()
40+
@elasticapm.capture_span()
4241
def foo():
4342
return "foo"
4443

@@ -48,19 +47,19 @@ def bar_route():
4847
return bar()
4948

5049

51-
@elasticapm.trace()
50+
@elasticapm.capture_span()
5251
def bar():
5352
extra()
5453
return "bar"
5554

5655

57-
@elasticapm.trace()
56+
@elasticapm.capture_span()
5857
def extra():
5958
return "extra"
6059

6160

6261
if __name__ == '__main__':
63-
app.run(host='0.0.0.0', port=os.environ['FLASK_PORT'])
62+
app.run(host='0.0.0.0', port=int(os.environ['FLASK_PORT']))
6463

6564
# Create a logging handler and attach it.
6665
handler = LoggingHandler(client=apm.client)

docker/python/flask/start.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ else
2525
install_cmd="git+https://github.com/elastic/apm-agent-python.git@${PYTHON_AGENT_VERSION}"
2626
fi
2727

28-
app_name=${FLASK_APP_NAME}
28+
app_name=${FLASK_SERVICE_NAME}
2929
port=${FLASK_PORT}
30-
start_cmd="gunicorn -w 4 -b 0.0.0.0:${port} app:app"
30+
start_cmd="python app.py"
3131

3232
docker build --pull -t ${app_name} -f ./docker/python/flask/Dockerfile .
3333

@@ -36,7 +36,7 @@ docker run -d \
3636
--name ${app_name} \
3737
--network=${NETWORK} \
3838
-p ${port}:${port} \
39-
-e FLASK_APP_NAME=${app_name} \
39+
-e FLASK_SERVICE_NAME=${app_name} \
4040
-e FLASK_PORT=${port} \
4141
-e APM_SERVER_URL=${APM_SERVER_URL} \
4242
--rm "${app_name}" \

docker/run_tests.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ docker run \
1414
-e APM_SERVER_URL=${APM_SERVER_URL} \
1515
-e EXPRESS_APP_NAME=${EXPRESS_APP_NAME} \
1616
-e EXPRESS_URL=${EXPRESS_URL} \
17-
-e FLASK_APP_NAME=${FLASK_APP_NAME} \
17+
-e FLASK_SERVICE_NAME=${FLASK_SERVICE_NAME} \
1818
-e FLASK_URL=${FLASK_URL} \
19-
-e DJANGO_APP_NAME=${DJANGO_APP_NAME} \
19+
-e DJANGO_SERVICE_NAME=${DJANGO_SERVICE_NAME} \
2020
-e DJANGO_URL=${DJANGO_URL} \
2121
-e PYTHONDONTWRITEBYTECODE=1 \
2222
-e URLS=${URLS} \

0 commit comments

Comments
 (0)