Skip to content

Commit f383173

Browse files
Peter Giacomo Lombardopglombardo
Peter Giacomo Lombardo
andauthored
AWS Fargate Support (#244)
* AWS Fargate Agent, Option & Recorder * Break Collector into platform parts * Initial Fargate tests; AWSFargateAgent/Collector/Options * Fix Fargate Collector instantiation * Include package file * Fargate snapshot collection for Task, Containers, Docker & Process * Centralized environment detection * Manual check to avoid circular dependency * Restore print_function * Better background thread; docs & tests * Check existence before referencing * No unicode characters for py2 * Rename method * Remove more unicode chars * Test: Show extra spans if any * Dump the full span * Remove debug * Move span dump into its own helper method * Add debug checks * Dont test log spans here * better way to filter log spans * Fargate checks * Temporarily disable lambda instrumentation * Logger vs print * Fix egid + euid calcs * Less debug and more safeties * No root path in root url * Fix payload & add tests * Convert JSON responses * Remake headers each time for now * Log detected environment * Breakout data collection into helpers for simplicity * Set INSTANA_TEST for test runs * Migrate Python metric collection to dedicated helper * Fix entityId * Cleanup Options; Add all supported env vars * Normalize and standardize on extra_http_header handling * Uncommong lambda inst * Same service_name handling regardless of environment * Skip asynqp tests which are breaking in Python 3.8 * Use a default agent if not specified * Late import to avoid circular import * Remove unecessary logging * Py27 compatibility * Add support for INSTANA_ZONE * Global INSTANA_SECRETS support * Apply secrets check to procces env vars; cleanup * INSTANA_TAGS support; Helper stability improvements * Fix test stragglers * Add support for INSTANA_ENDPOINT_PROXY * Endpoint proxy tests * Reset proxy var in tests * Add Lambda & Fargate boot messages * Version path for fargate * Pylint fixes * Docker metrics support * Refactor, normalization and all the other cool words * PyLint told me to do it * Refactor and respect snapshot reporting flag * Subpackages not needed * Linter fixes * Update imports with new path * Without snapshot flag, do nothing * Make sure file exists b4 trying to read it * Fix test class names * Minor cleanup * Update python containers to latest * Update zone and tags handling * Package collection cleanup * Add to_pretty_json helper * Debug helpers * Round CPU floats and rootbeer floats too * Fetch ECMU metadata only on interval * Lock cleanup * Better lock syncronization * Fix lock check * Set lock acquire to blocking * Consider with_snapshot in delta reporting * Fix reporting of mandatory fields * Fix data payload init * Simplify things and remove a thread * Change test container image to make cassandra happy * Py27 tests use stretch * Add Python 2.7 compatibility division * pylint all the things * Updated hierarchy of Option classes; INSTANA_TIMEOUT in ms * Improved log level handling & tests * Refactor Host agent metric collection * Dot the Is * Remove debug * Docker blkio metrics are accumalative Co-authored-by: Peter Giacomo Lombardo <[email protected]>
1 parent 1cc7705 commit f383173

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+3676
-941
lines changed

.circleci/config.yml

+21-8
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ version: 2
66
jobs:
77
python27:
88
docker:
9-
- image: circleci/python:2.7.15
9+
- image: circleci/python:2.7.16-stretch
1010
- image: circleci/postgres:9.6.5-alpine-ram
1111
- image: circleci/mariadb:10.1-ram
1212
- image: circleci/redis:5.0.4
@@ -35,13 +35,15 @@ jobs:
3535
pip install -e '.[test]'
3636
- run:
3737
name: run tests
38+
environment:
39+
INSTANA_TEST: true
3840
command: |
3941
. venv/bin/activate
4042
pytest -v
4143
4244
python38:
4345
docker:
44-
- image: circleci/python:3.7.7-stretch
46+
- image: circleci/python:3.7.8-stretch
4547
- image: circleci/postgres:9.6.5-alpine-ram
4648
- image: circleci/mariadb:10-ram
4749
- image: circleci/redis:5.0.4
@@ -67,13 +69,15 @@ jobs:
6769
pip install -e '.[test]'
6870
- run:
6971
name: run tests
72+
environment:
73+
INSTANA_TEST: true
7074
command: |
7175
. venv/bin/activate
7276
pytest -v
7377
7478
py27cassandra:
7579
docker:
76-
- image: circleci/python:2.7.15
80+
- image: circleci/python:2.7.16-stretch
7781
- image: circleci/cassandra:3.10
7882
environment:
7983
MAX_HEAP_SIZE: 2048m
@@ -94,13 +98,16 @@ jobs:
9498
pip install -e '.[test-cassandra]'
9599
- run:
96100
name: run tests
101+
environment:
102+
INSTANA_TEST: true
103+
CASSANDRA_TEST: true
97104
command: |
98105
. venv/bin/activate
99-
CASSANDRA_TEST=1 pytest -v tests/clients/test_cassandra-driver.py
106+
pytest -v tests/clients/test_cassandra-driver.py
100107
101108
py36cassandra:
102109
docker:
103-
- image: circleci/python:3.6.8
110+
- image: circleci/python:3.6.11
104111
- image: circleci/cassandra:3.10
105112
environment:
106113
MAX_HEAP_SIZE: 2048m
@@ -118,13 +125,16 @@ jobs:
118125
pip install -e '.[test-cassandra]'
119126
- run:
120127
name: run tests
128+
environment:
129+
INSTANA_TEST: true
130+
CASSANDRA_TEST: true
121131
command: |
122132
. venv/bin/activate
123-
CASSANDRA_TEST=1 pytest -v tests/clients/test_cassandra-driver.py
133+
pytest -v tests/clients/test_cassandra-driver.py
124134
125135
gevent38:
126136
docker:
127-
- image: circleci/python:3.8.2
137+
- image: circleci/python:3.8.5
128138
working_directory: ~/repo
129139
steps:
130140
- checkout
@@ -138,9 +148,12 @@ jobs:
138148
pip install -e '.[test-gevent]'
139149
- run:
140150
name: run tests
151+
environment:
152+
INSTANA_TEST: true
153+
GEVENT_TEST: true
141154
command: |
142155
. venv/bin/activate
143-
GEVENT_TEST=1 pytest -v tests/frameworks/test_gevent.py
156+
pytest -v tests/frameworks/test_gevent.py
144157
workflows:
145158
version: 2
146159
build:

0 commit comments

Comments
 (0)