Skip to content
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

Fix Starlette Testing Matrix for Updated Behavior #869

Merged
merged 1 commit into from
Jul 14, 2023

Conversation

TimPansino
Copy link
Contributor

Overview

  • Starlette has once again fixed the long standing background task bug with BaseHTTPMiddleware as of v0.29.0. Tests updated to reflect this change in behavior.

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
@TimPansino TimPansino requested a review from a team July 13, 2023 22:33
@github-actions
Copy link

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Elapsed time
✅ PYTHON black 1 0 0 0.46s
✅ PYTHON flake8 1 0 0.29s
✅ PYTHON isort 1 0 0 0.18s
✅ PYTHON pylint 1 0 1.24s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security

@codecov-commenter
Copy link

codecov-commenter commented Jul 13, 2023

Codecov Report

Merging #869 (69d6b69) into main (6644846) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #869      +/-   ##
==========================================
- Coverage   81.13%   81.11%   -0.03%     
==========================================
  Files         183      183              
  Lines       18251    18251              
  Branches     3160     3160              
==========================================
- Hits        14808    14804       -4     
- Misses       2585     2588       +3     
- Partials      858      859       +1     

see 2 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@mergify mergify bot removed the tests-failing label Jul 13, 2023
@TimPansino TimPansino merged commit ee92363 into main Jul 14, 2023
@TimPansino TimPansino deleted the fix-starlette-tests branch July 14, 2023 00:09
@TimPansino TimPansino added this to the v8.9.0 milestone Jul 27, 2023
hmstepanek added a commit that referenced this pull request Jul 31, 2023
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
hmstepanek added a commit that referenced this pull request Jul 31, 2023
* Exclude command line functionality from test coverage (#855)

* FIX: resilient environment settings (#825)

if the application uses generalimport to manage optional depedencies,
it's possible that generalimport.MissingOptionalDependency is raised.
In this case, we should not report the module as it is not actually loaded and
is not a runtime dependency of the application.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Replace drop_transaction logic by using transaction context manager (#832)

* Replace drop_transaction call

* [Mega-Linter] Apply linters fixes

* Empty commit to start tests

* Change logic in BG Wrappers

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Upgrade to Pypy38 for TypedDict (#861)

* Fix base branch

* Revert tox dependencies

* Replace all pypy37 with pypy38

* Remove action.yml file

* Push Empty Commit

* Fix skip_missing_interpreters behavior

* Fix skip_missing_interpreters behavior

* Pin dev CI image sha

* Remove unsupported Tornado tests

* Add latest tests to Tornado

* Remove pypy38 (for now)

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Add profile_trace testing (#858)

* Include isort stdlibs for determining stdlib modules

* Use isort & sys to eliminate std & builtin modules

Previously, the logic would fail to identify third party modules installed within the
local user socpe. This fixes that issue by skipping builtin and stdlib modules by name,
instead of attempting to identify third party modules based on file paths.

* Handle importlib_metadata.version being a callable

* Add isort into third party notices

* [Mega-Linter] Apply linters fixes

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Trigger tests

* Add testing for profile trace.

* [Mega-Linter] Apply linters fixes

* Ignore __call__ from coverage on profile_trace.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Add Transaction API Tests (#857)

* Test for suppress_apdex_metric

* Add custom_metrics tests

* Add distributed_trace_headers testing in existing tests

* [Mega-Linter] Apply linters fixes

* Remove redundant if-statement

* Ignore deprecated transaction function from coverage

* [Mega-Linter] Apply linters fixes

* Push empty commit

* Update newrelic/api/transaction.py

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add tests for jinja2. (#842)

* Add tests for jinja2.

* [Mega-Linter] Apply linters fixes

* Update tox.ini

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Add tests for newrelic/config.py (#860)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix starlette testing matrix for updated behavior. (#869)

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Correct Serverless Distributed Tracing Logic (#870)

* Fix serverless logic for distributed tracing

* Test stubs

* Collapse testing changes

* Add negative testing to regular DT test suite

* Apply linter fixes

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Kafka CI (#863)

* Reenable kafka testing

* Add kafka dev lib

* Sync install python with devcontainer

* Fix kafka local host setting

* Drop set -u flag

* Pin CI image dev sha

* Add parallel flag to kafka

* Fix proper exit status

* Build librdkafka from source

* Updated dev image sha

* Remove coverage exclusions

* Add new options to better emulate GHA

* Reconfigure kafka networking

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Fix kafka ports on GHA

* Run kafka tests serially

* Separate kafka consumer groups

* Put CI container makefile back

* Remove confluent kafka Py27 for latest

* Roll back ubuntu version update

* Update dev ci sha

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Change image tag to latest (#871)

* Change image tag to latest

* Use built sha

* Fixup

* Replace w/ latest

* Add full version for pypy3.8 to tox (#872)

* Add full version for pypy3.8

* Remove solrpy from tests

* Fix merge conflict

* Fix tests for scikit-learn >= 1.3.0

In 1.3.0 sklearn renamed fit to _fit in BaseDecisionTree.

* Add gfortran to container

* Use ci image sha

* Add pkg-config

* New CI build

---------

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Ahmed Helil <aaeabdo@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
lrafeei added a commit that referenced this pull request Aug 11, 2023
* Update Versioning Scheme (#651)

* Update versioning scheme to 3 semver digits

* Fix version indexing

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>

* Remove version truncation

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Trace Finalizer Crashes (#652)

* Patch crashes in various traces with None settings

* Add tests for graphql trace types to unittests

* Add test to ensure traces don't crash in finalizer

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Add usage tracking metrics for Kafka clients. (#658)

* Add usage tracking metrics for Kafka clients.

* Fix double import lint error

* [Mega-Linter] Apply linters fixes

* Create version util file and add metrics to consumer.

* Address linting errors.

* Add missing semi-colon.

* [Mega-Linter] Apply linters fixes

* Bump tests.

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Deprecate add_custom_parameter(s) API (#655)

* Deprecate add_custom_parameter(s) API

* Fix unicode tests and some pylint errors

* Fix more pylint errors

* Revert "Fix more pylint errors"

This reverts commit 807ec1c5c40fe421300ccdcd6fedd81f288dce2c.

* Edit deprecation message in add_custom_parameters

* Add usage metrics for Daphne and Hypercorn. (#665)

* Add usage metrics for Daphne and Hypercorn.

* [Mega-Linter] Apply linters fixes

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Fix Flask view support in Code Level Metrics (#664)

* Fix Flask view support in Code Level Metrics

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* [Mega-Linter] Apply linters fixes

* Bump tests

* Fix CLM tests for flaskrest

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Fix aioredis version crash (#661)

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add double wrapped testing for Hypercorn and Daphne and dispatcher argument to WSGI API.  (#667)

* Add double wrapped app tests.

* Fix linting errors.

* [Mega-Linter] Apply linters fixes

* Add co-authors.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add Python 3.11 Support (#654)

* Add py311 tests

* Fix typo

* Added 3.11 support for aiohttp framework

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Set up environment to run Python 3.11

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Add Python 3.11 support for agent_features

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Partial Python 3.11 support added for Tornado

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Adjust postgres versions

* Fix tornado install path locally

* Remove aioredis py311 tests

* Update 3.11 to dev in tests

* Fix sanic instrumentation and imp/importlib deprecation

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Simplify wheel build options

* Update cibuildwheel for 3.11

* Remove falconmaster py311 test

Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Remove devcontainer submodule (#669)

* Uncomment NewRelicContextFormatter from agent.py (#676)

* Fix botocore tests for botocore v1.28.1+ (#675)

* Fix botocore tests for botocore v1.28.1+

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Fix boto3 tests for botocore v1.28.1+

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Fix boto3 tests for python 2.7

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Feature increased custom event limit (#674)

* Update reservoir size for custom events.

* [Mega-Linter] Apply linters fixes

* Increase custom event limit. (#666)

* Remove duplicated CUSTOM_EVENT_RESERVOIR_SIZE

Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add python 3.11 stable release to GHA (#671)

* Double kafka test runners (#677)

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix failing flask_rest tests (#683)

* Pin flask-restx in flask_rest tests for 2.7

flask-restx dropped support for 2.7 in 1.0.1.

* Drop support for flask-restplus

flask-restx replaced flask-restplus. flask-restplus's latest version supports 3.6 which
we don't even support anymore.

* Fix failing botocore tests (#684)

* Change queue url for botocore>=1.29.0

botocore >=1.29.0 uses sqs.us-east-1.amazonaws.com url instead of queue.amazonaws.com.

* Use tuple version instead of str

* Change botocore129->botocore128

* Add record_log_event to public api (#681)

* Add patch for sentry SDK to correct ASGI v2/v3 detection. (#680)

* Add patch for sentry to correct ASGI v2/v3 detection.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* [Mega-Linter] Apply linters fixes

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Update pip install command (#688)

* Validator transfer from fixtures.py to validators directory, Part 1 (#672)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Fix import issues

* Fix (more) import issues

* Fix validate_transaction_metrics import in aioredis

* Remove commented code from fixtures.py

* Initialize ExternalNode properties (#687)

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix package_version_utils.py logic (#689)

* Fix package_version_utils.py logic

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Move description of func into func itself

* typecast lists into tuples

* Remove breakpoints

* Empty _test_package_version_utils.py

* Make changes to the test

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Pin Github Actions Runner to Ubuntu 20 for Py27 (#698)

* Pin Github Actions runner to ubuntu 20 for Py27

* Upgrade setup-python

* Fix Confluent Kafka Producer Arguments (#699)

* Add confluentkafka test for posargs/kwargs

* Fix confluent kafka topic argument bug

* More sensible producer arguments

* Fix tornado master tests & instrument redis 4.3.5 (#695)

* Remove 3.7 testing of tornado master

tornadomaster dropped support for 3.7

* Instrument new redis 4.3.5 client methods

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Remove pylint codes from flake8 config (#701)

* Validator transfer from fixtures.py to validators directory, Part 2 (#690)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Move validate_application_error_trace_count into validators directory

* Move validate_application_error_event_count into validators directory

* Move validate_synthetics_transaction_trace into validators directory

* Move validate_tt_collector_json to validators directory

* Move validate_transaction_trace_attributes into validator directory

* Move validate_transaction_error_trace_attributes into validator directory

* Move validate_error_trace_collector_json into validator directory

* Move validate_error_event_collector_json into validator directory

* Move validate_transaction_event_collector_json into validator directory

* Fix import issues from merge

* Fix some pylint errors

* Revert 'raise ValueError' to be PY2 compatible

* Delete commented lines

* Fix bug in celery where works don't report data (#696)

This fixes Missing information from Celery workers when using MAX_TASKS_PER_CHILD
issue.

Previously, if celery was run with the --loglevel=INFO flag, an agent instance would be
created for the main celery process and after the first worker shutdown, all following
worker's agent instances would point to that agent instance instead of creating a new
instance. This was root caused to incorrectly creating an agent instance when
application activate was not set. Now no agent instance will be created for the main
celery process.

* Reverts removal of flask_restful hooks. (#705)

* Update instrumented methods in redis. (#707)

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Add TraceCache Guarded Iteration (#704)

* Add MutableMapping API to TraceCache

* Update trace cache usage to use guarded APIs.

* [Mega-Linter] Apply linters fixes

* Bump tests

* Fix keys iterator

* Comments for trace cache methods

* Reorganize tests

* Fix fixture refs

* Fix testing refs

* [Mega-Linter] Apply linters fixes

* Bump tests

* Upper case constant

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Fix Type Constructor Classes in Code Level Metrics (#708)

* Fix CLM exception catching

* Reorganize CLM Tests

* Add type constructor tests to CLM

* Fix line number

* Pin tox version

* Fix lambda tests in CLM

* Fix lint issues

* Turn helper func into pytest fixture

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix sanic and starlette tests (#734)

* Fix sanic tests

* Tweak test fix for sanic

* Remove test for v18.12 in sanic (no longer supported)

* Pin starlette latest to v0.23.1 (for now)

* Add comment in tox about pinned starlette version

* Add methods to instrument (#738)

* Add card to instrumented methods in Redis (#740)

* Add DevContainer (#711)

* Add devcontainer setup

* Add newrelic env vars to passenv

* Add default extensions

* Add devcontainer instructions to contributing docs

* Convert smart quotes in contributing docs.

* Apply proper RST formatting

* [Mega-Linter] Apply linters fixes

* Add GHCR to prerequisites

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Module classmethod fix (#662)

* Fix function_wrapper calls to module

* Fix wrapper in pika hook

* Revert elasticsearch instrumentation

* Revert some wrap_function_wrappers to orig

* Remove comments/breakpoints

* Fix hooks in elasticsearch

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Fix log decorating to be JSON compatible (#736)

* Initial addition of JSON capability

* Add NR-LINKING metadata JSON combatibility

* Remove breakpoint

* Hardcode local log decorating tests

* Tweak linking metatdata parsing/adding

* Revert "Fix log decorating to be JSON compatible" (#746)

* Revert "Fix log decorating to be JSON compatible (#736)"

This reverts commit 0db5fee1e5d44b0791dc517ac9f5d88d1240a340.

* [Mega-Linter] Apply linters fixes

* Trigger tests

Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>

* Add apdexPerfZone attribute to Transaction. (#753)

Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary-martinez@users.noreply.github.com>

Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary-martinez@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix tests in starlette v0.23.1 (#752)

* Fix tests in starlette v0.23.1

* Fix conditional tests

* Add comment to bg_task test

* Support `redis.asyncio` (#744)

* Support `redis.asyncio`

* Fix `flake8` issues

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Redis Asyncio Testing (#750)

* Add standardized method for package version tuples

* Adapt aioredis tests to redis.asyncio

* Standardize version tuple

* Refresh uninstrumented redis methods

* Fix aioredis version checking

* Remove aioredis version function

* CodeCov Integration (#710)

* Add aggregate coverage settings to tox.ini

* Refactor coverage fixture for GHA

* Send coverage data files

* Linter fixes

* Configure codecov report

* Yield cov handle from fixture

* Fix empty coverage fixture

* Specify artifact download dir

* Find coverage files with find command

* Add concurrency cancelling to github actions

* uncomment test deps

* Fix or symbol

* Fix concurrency groups

* Linter fixes

* Add comment for yield None in fixture

* [Mega-Linter] Apply linters fixes

* Bump Tests

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Mergify (#761)

* Add mergify config file

* Remove priority

* Clean up mergify rules

* Add non-draft requirement for merge

* Add merge method

* [Mega-Linter] Apply linters fixes

* Don't update draft PRs.

* Remove merge rules for develop branches

* Linting

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Elasticsearch v8 support (#741)

* Fix function_wrapper calls to module

* Fix wrapper in pika hook

* Revert elasticsearch instrumentation

* Revert some wrap_function_wrappers to orig

* Remove comments/breakpoints

* Fix hooks in elasticsearch

* Add new client methods from v8 and their hooks

* Add elasticsearch v8 to workflow and tox

* Fix indices for elasticsearch01

* Disable xpack security in elasticsearch v8.0

* Start to add try/except blocks in tests

* Add support for v8 transport

* add support for v8 connection

* Add tests-WIP

* Clean up most tests

* Clean up unused instrumentation

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Remove elastic search source code

* Elasticsearch v8 testing

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Scope ES fixture

* ES v8 only supports Python3.6+

* Refactor transport tests for v8

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>

* Remove extra comments

* Added perform_request_kwargs to test_transport

* Fix some linter issues

* Remove extra newline

* Group es v7 v8 process modules together

* Add auto signature detection & binding

* Use bind_arguments in ES

* Add test for wrapped function

* Add validator for datastore trace inputs

* Use common bind_arguments for PY3

* Fix tests in starlette v0.23.1 (#752)

* Fix tests in starlette v0.23.1

* Fix conditional tests

* Add comment to bg_task test

* Split below es 8 methods from es 8 methods

Note the previous tests in this file to check whether a method was instrumented, did not test anything because they were checking whether the list
of methods that we instrumented were instrumented instead of whether
there were uninstrumented methods on the es client that we missed.

Because we decided due to lack of reporting of bugs by our customers, to not support the buggy wrapping on previous es versions (below es8), we
only added tests to assert all methods were wrapped from es8+. We also
are only testing es8+ wrapping of methods since the previous versions
wrapping behavior may not have been correct due to the signature of the
methods changing without us detecting it due to lack of tests. Since our customers have not reported any issues, it seems not worth it at this time to go back and fix these bugs.

* Remove signature auto detection implementation

* Fixup: remove signature autodetection

* Fixup: cleanup

* Test method calls on all es versions

* Fixup: don't run some methods on es7

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: mary-martinez <mmartinez@newrelic.com>
Co-authored-by: enriqueta <edeleon@newrelic.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Update contributors workspace link in CONTRIBUTING.rst. (#760)

* Update link in CONTRIBUTING.rst.

* Update to RST syntax.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add Retry to Pip Install (#763)

* Add retry to pip install

* Fix retry backoff constant

* Fix script failures

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add aiohttp support for expected status codes (#735)

* Add aiohttp support for expected status codes

* Adjust naming convention

* Fix expected tests for new validator behavior

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Fix PyPy Priority Sampling Test (#766)

* Fix pypy priority sampling

* [Mega-Linter] Apply linters fixes

* Bump tests

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Config linter fixes (#768)

* Fix default value and lazy logging pylint

* Fix default value and lazy logging pylint

* Fix unnecessary 'else' in pylint

* Fix logging-not-lazy in pylint

* Fix redefined built-in error in Pylint

* Fix implicit string concatenation in Pylint

* Fix dict() to {} in Pylint

* Make sure eval is OK to use for Pylint

* Fix logging format string for Pylint

* Change list comprehension to generator expression

* [Mega-Linter] Apply linters fixes

* Rerun tests

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Sync tests w/ agents/cross_agent_tests/pull/150 (#770)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Infinite Tracing Batching & Compression (#762)

* Infinite Tracing Batching and Compression settings (#756)

* Add compression setting

* Add batching setting

* Infinite Tracing Compression (#758)

* Initial commit

* Add compression option in StreamingRPC

* Add compression default to tests

* Add test to confirm compression settings

* Remove commented out code

* Set compression settings from settings override

* Infinite Tracing Batching (#759)

* Initial infinite tracing batching implementation

* Add RecordSpanBatch method to mock grpc server

* Span batching settings and testing.

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add final 8t batching tests

* Rename serialization test

* Formatting

* Guard unittests from failing due to batching

* Linting

* Simplify batching algorithm

* Properly wire batching parametrization

* Fix incorrect validator use

* Data loss on reconnect regression testing

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Test stream buffer batch sizes

* Fix logic in supportability metrics for spans

* Clean up nested conditionals in stream buffer

* Compression parametrization in serialization test

* Formatting

* Update 8t test_no_delay_on_ok

* Update protobufs

* Remove unnecessary patching from test

* Fix waiting in supportability metric tests

* Add sleep to waiting in test

* Reorder sleep and condition check

* Mark no data loss xfail for py2.

* Fix conditional check

* Fix flake8 linter issues

---------

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Infinite Tracing Supportability Feature Toggle Metrics (#769)

* Add 8T feature toggle supportability metrics

* Remove supportability metrics when 8t is disabled.

* Formatting

---------

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix DT settings for txn feature tests (#771)

* Fix pyramid testing versions (#764)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix Ariadne Middleware Testing (#776)

* Fix ariadne middleware testing

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>

* [Mega-Linter] Apply linters fixes

* Bump tests

---------

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Exclude merged PRs from automatic mergify actions. (#774)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Refactor Code Coverage (#765)

* Reorder dependency of code coverage fixture

* Fix tests with coverage disabled

* Refactor code coverage fixture

* Clean out old coverage settings

* Fix missing code coverage fixture

* Fix pypy priority sampling

* Start coverage from pytest-cov for better tracking

* Refactor coverage config file

* Ripping out coverage fixtures

* Move tool config to bottom of tox.ini

* Disabling py27 warning

* Renaming env var

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add GraphQL Introspection Setting (#783)

* Add graphql introspection setting

* Sort settings object hierarchy

* Add test for introspection queries setting

* Expand introspection queries testing

* [Mega-Linter] Apply linters fixes

* Adjust introspection detection for graphql

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix instance info tests for redis. (#784)

* Fix instance info tests for redis.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Fix Redis Instance Info (#790)

* Fix failing redis test for new default behavior

* Revert "Fix instance info tests for redis. (#784)"

This reverts commit f7108e3c2a54ab02a1104f6c16bd5fd799b9fc7e.

* Guard GraphQL Settings Lookup (#787)

* Guard graphql settings lookup

* [Mega-Linter] Apply linters fixes

* Bump tests

* Update graphql settings test

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Errors Inbox Improvements (#791)

* Errors inbox attributes and tests (#778)

* Initial errors inbox commit

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add enduser.id field

* Move validate_error_trace_attributes into validators directory

* Add error callback attributes test

* Add tests for enduser.id & error.group.name

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Uncomment code_coverage

* Drop commented out line

---------

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Error Group Callback API (#785)

* Error group initial implementation

* Rewrite error callback to pass map of info

* Fixed incorrect validators causing errors

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Fix validation of error trace attributes

* Expanded error callback test

* Add incorrect type to error callback testing

* Change error group callback to private setting

* Add testing for error group callback inputs

* Separate error group callback tests

* Add explicit testing for the set API

* Ensure error group is string

* Fix python 2 type validation

---------

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* User Tracking for Errors Inbox (#789)

* Add user tracking feature for errors inbox.

* Address review comments,

* Add high_security test.

* Cleanup invalid tests test.

* Update user_id string check.

* Remove set_id outside txn test.

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

---------

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Update Packages (#793)

* Update urllib3 to v1.26.15

* Update six to v1.16.0

* Update coverage exclude for newrelic/packages

* [Mega-Linter] Apply linters fixes

* Drop removed package from urllib3

* Update pytest

* Downgrade websockets version for old sanic testing

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Remove Unused Instrumentation and Tests (#794)

* Remove unused instrumentation files

* Remove testing for deprecated CherryPy versions

* Remove unused pyelasticsearch tests

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix Loguru Instrumentation for v0.7.0 (#798)

* Add autosignature implementation

* Fix loguru with auto-signature

* [Mega-Linter] Apply linters fixes

* Fix tests for Py2

* [Mega-Linter] Apply linters fixes

* Bump tests

* Remove unwrap from signature utils

* Fix arg unpacking

* Remove unwrap arg from bind_args

* Fix linter errors

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>

* Remove Twisted framework (#800)

* Initial twisted commit

* Remove Twisted Framework

* Pin virtualenv, fix pip arg deprecation & disable kafka tests (#803)

* Pin virtualenv

* Fixup: use 20.21.1 instead

* Replace install-options with config-settings

See https://github.com/pypa/pip/issues/11358.

* Temporarily disable kafka tests

* Add tests for pyodbc (#796)

* Add tests for pyodbc

* Move imports into tests to get import coverage

* Fixup: remove time import

* Trigger tests

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add tests for Waitress (#797)

* Change import format

* Initial commit

* Add more tests to adapter_waitress

* Remove commented out code

* [Mega-Linter] Apply linters fixes

* Add assertions to all tests

* Add more NR testing to waitress

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add testing for genshi and mako. (#799)

* Add testing for genshi and mako.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Omit some frameworks from coverage analysis (#810)

* Omit some frameworks from coverage analysis

* Remove commas

* Change format of omit

* Add relative_files option to coverage

* Add absolute directory

* Add envsitepackagedir

* Add coveragerc file

* Add codecov.yml

* [Mega-Linter] Apply linters fixes

* Revert coveragerc file settings

* Add files in packages and more frameworks

* Remove commented line

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Run coverage around pytest (#813)

* Run coverage around pytest

* Trigger tests

* Fixup

* Add redis client_no_touch to ignore list

* Temporarily remove kafka from coverage

* Remove coverage for old libs

* Add required option for tox v4 (#795)

* Add required option for tox v4

* Update tox in GHA

* Remove py27 no-cache-dir

* Fix Testing Failures (#828)

* Fix tastypie tests

* Adjust asgiref pinned version

* Make aioredis key PID unique

* Pin more asgiref versions

* Fix pytest test filtering when running tox (#823)

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Validator transfer p3 (#745)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Move validate_application_error_trace_count into validators directory

* Move validate_application_error_event_count into validators directory

* Move validate_synthetics_transaction_trace into validators directory

* Move validate_tt_collector_json to validators directory

* Move validate_transaction_trace_attributes into validator directory

* Move validate_transaction_error_trace_attributes into validator directory

* Move validate_error_trace_collector_json into validator directory

* Move validate_error_event_collector_json into validator directory

* Move validate_transaction_event_collector_json into validator directory

* Move validate_custom_event_collector_json into validator directory

* Move validate_tt_parameters into validator directory

* Move validate_tt_parameters into validator directory

* Move validate_tt_segment_params into validator directory

* Move validate_browser_attributes into validators directory

* Move validate_error_event_attributes into validators directory

* Move validate_error_trace_attributes_outside_transaction into validators directory

* Move validate_error_event_attributes_outside_transaction into validators directory

* Fix some pylint errors

* Redirect check_error_attributes

* Fix more Pylint errors

* Fix import issues from move

* Fix more import shuffle errors

* Sort logging JSON test for PY2 consistency

* Fix Pylint errors in validators

* Fix import error

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix set output warning using new GHA syntax (#833)

* Fix set output warning using new GHA syntax

* Fix quoting

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Instrument Redis waitaof (#851)

* Add uninstrumented command to redis

* Update logic for datastore_aioredis instance info

* [Mega-Linter] Apply linters fixes

* Bump tests

* Update defaults for aioredis port

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Ignore patched hooks files. (#849)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix local scoped package reporting (#837)

* Include isort stdlibs for determining stdlib modules

* Use isort & sys to eliminate std & builtin modules

Previously, the logic would fail to identify third party modules installed within the
local user socpe. This fixes that issue by skipping builtin and stdlib modules by name,
instead of attempting to identify third party modules based on file paths.

* Handle importlib_metadata.version being a callable

* Add isort into third party notices

* [Mega-Linter] Apply linters fixes

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Trigger tests

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* MSSQL Testing (#852)

* For mysql tests into mssql

* Add tox envs for mssql

* Add mssql DB settings

* Add correct MSSQL tests

* Add mssql to GHA

* Add MSSQL libs to CI image

* Pin to dev CI image sha

* Swap SQLServer container image

* Fix healthcheck

* Put MSSQL image back

* Drop pypy37 tests

* Unpin dev image sha

* Exclude command line functionality from test coverage (#855)

* FIX: resilient environment settings (#825)

if the application uses generalimport to manage optional depedencies,
it's possible that generalimport.MissingOptionalDependency is raised.
In this case, we should not report the module as it is not actually loaded and
is not a runtime dependency of the application.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Replace drop_transaction logic by using transaction context manager (#832)

* Replace drop_transaction call

* [Mega-Linter] Apply linters fixes

* Empty commit to start tests

* Change logic in BG Wrappers

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Upgrade to Pypy38 for TypedDict (#861)

* Fix base branch

* Revert tox dependencies

* Replace all pypy37 with pypy38

* Remove action.yml file

* Push Empty Commit

* Fix skip_missing_interpreters behavior

* Fix skip_missing_interpreters behavior

* Pin dev CI image sha

* Remove unsupported Tornado tests

* Add latest tests to Tornado

* Remove pypy38 (for now)

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Add profile_trace testing (#858)

* Include isort stdlibs for determining stdlib modules

* Use isort & sys to eliminate std & builtin modules

Previously, the logic would fail to identify third party modules installed within the
local user socpe. This fixes that issue by skipping builtin and stdlib modules by name,
instead of attempting to identify third party modules based on file paths.

* Handle importlib_metadata.version being a callable

* Add isort into third party notices

* [Mega-Linter] Apply linters fixes

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Trigger tests

* Add testing for profile trace.

* [Mega-Linter] Apply linters fixes

* Ignore __call__ from coverage on profile_trace.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Add Transaction API Tests (#857)

* Test for suppress_apdex_metric

* Add custom_metrics tests

* Add distributed_trace_headers testing in existing tests

* [Mega-Linter] Apply linters fixes

* Remove redundant if-statement

* Ignore deprecated transaction function from coverage

* [Mega-Linter] Apply linters fixes

* Push empty commit

* Update newrelic/api/transaction.py

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add tests for jinja2. (#842)

* Add tests for jinja2.

* [Mega-Linter] Apply linters fixes

* Update tox.ini

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Add tests for newrelic/config.py (#860)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix starlette testing matrix for updated behavior. (#869)

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Correct Serverless Distributed Tracing Logic (#870)

* Fix serverless logic for distributed tracing

* Test stubs

* Collapse testing changes

* Add negative testing to regular DT test suite

* Apply linter fixes

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Kafka CI (#863)

* Reenable kafka testing

* Add kafka dev lib

* Sync install python with devcontainer

* Fix kafka local host setting

* Drop set -u flag

* Pin CI image dev sha

* Add parallel flag to kafka

* Fix proper exit status

* Build librdkafka from source

* Updated dev image sha

* Remove coverage exclusions

* Add new options to better emulate GHA

* Reconfigure kafka networking

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Fix kafka ports on GHA

* Run kafka tests serially

* Separate kafka consumer groups

* Put CI container makefile back

* Remove confluent kafka Py27 for latest

* Roll back ubuntu version update

* Update dev ci sha

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Change image tag to latest (#871)

* Change image tag to latest

* Use built sha

* Fixup

* Replace w/ latest

* Add full version for pypy3.8 to tox (#872)

* Add full version for pypy3.8

* Remove solrpy from tests

* Instrument RedisCluster (#809)

* Add instrumentation for RedisCluster

* Add tests for redis cluster

* Ignore Django instrumentation from older versions (#859)

* Ignore Django instrumentation from older versions

* Ignore Django instrumentation from older versions

* Fix text concatenation

* Update newrelic/hooks/framework_django.py

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Update newrelic/hooks/framework_django.py

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Modify postgresql tests to include WITH query (#885)

* Modify postgresql tests to include WITH

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Develop redis addons (#888)

* Added separate instrumentation for redis.asyncio.client (#808)

* Added separate instrumentation for redis.asyncio.client

Merge main branch updates

Add tests for newrelic/config.py (#860)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Modify redis tests

* removed redis.asyncio from aioredis instrumentation

removed aioredis instrumentation in redis asyncio client

removed redis.asyncio from aioredis instrumentation

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Redis asyncio testing (#881)

* Add/modify redis asyncio tests

* Change to psubscribe

* Tweak redis async tests/instrumentation

* [Mega-Linter] Apply linters fixes

* Push empty commit

* Exclude older instrumentation from coverage

* Resolve requested testing changes

* Tweak async pubsub test

* Fix pubsub test

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Remove aioredis and aredis from tox (#891)

* Remove aioredis and aredis from tox

* Add aredis and aioredis to coverage ignore

* Push empty commit

* Fix codecov ignore file

---------

Co-authored-by: Ahmed <ahmedhropewala@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Fix drift

* Fix ariadne middleware tests for all versions.

---------

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Kevin Morey <kevin@futurehaus.com>
Co-authored-by: Kate Anderson <90657569+kanderson250@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary-martinez@users.noreply.github.com>
Co-authored-by: Dmitry Kolyagin <dmitry.kolyagin@gmail.com>
Co-authored-by: mary-martinez <mmartinez@newrelic.com>
Co-authored-by: enriqueta <edeleon@newrelic.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Justin Richert <justin.richert@life.church>
Co-authored-by: Ahmed Helil <aaeabdo@gmail.com>
Co-authored-by: Ahmed <ahmedhropewala@gmail.com>
lrafeei added a commit that referenced this pull request Aug 23, 2023
* Update Versioning Scheme (#651)

* Update versioning scheme to 3 semver digits

* Fix version indexing

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>

* Remove version truncation

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Trace Finalizer Crashes (#652)

* Patch crashes in various traces with None settings

* Add tests for graphql trace types to unittests

* Add test to ensure traces don't crash in finalizer

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Add usage tracking metrics for Kafka clients. (#658)

* Add usage tracking metrics for Kafka clients.

* Fix double import lint error

* [Mega-Linter] Apply linters fixes

* Create version util file and add metrics to consumer.

* Address linting errors.

* Add missing semi-colon.

* [Mega-Linter] Apply linters fixes

* Bump tests.

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Deprecate add_custom_parameter(s) API (#655)

* Deprecate add_custom_parameter(s) API

* Fix unicode tests and some pylint errors

* Fix more pylint errors

* Revert "Fix more pylint errors"

This reverts commit 807ec1c5c40fe421300ccdcd6fedd81f288dce2c.

* Edit deprecation message in add_custom_parameters

* Add usage metrics for Daphne and Hypercorn. (#665)

* Add usage metrics for Daphne and Hypercorn.

* [Mega-Linter] Apply linters fixes

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Fix Flask view support in Code Level Metrics (#664)

* Fix Flask view support in Code Level Metrics

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* [Mega-Linter] Apply linters fixes

* Bump tests

* Fix CLM tests for flaskrest

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Fix aioredis version crash (#661)

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add double wrapped testing for Hypercorn and Daphne and dispatcher argument to WSGI API.  (#667)

* Add double wrapped app tests.

* Fix linting errors.

* [Mega-Linter] Apply linters fixes

* Add co-authors.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add Python 3.11 Support (#654)

* Add py311 tests

* Fix typo

* Added 3.11 support for aiohttp framework

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Set up environment to run Python 3.11

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Add Python 3.11 support for agent_features

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Partial Python 3.11 support added for Tornado

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Adjust postgres versions

* Fix tornado install path locally

* Remove aioredis py311 tests

* Update 3.11 to dev in tests

* Fix sanic instrumentation and imp/importlib deprecation

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Simplify wheel build options

* Update cibuildwheel for 3.11

* Remove falconmaster py311 test

Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Remove devcontainer submodule (#669)

* Uncomment NewRelicContextFormatter from agent.py (#676)

* Fix botocore tests for botocore v1.28.1+ (#675)

* Fix botocore tests for botocore v1.28.1+

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Fix boto3 tests for botocore v1.28.1+

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Fix boto3 tests for python 2.7

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Feature increased custom event limit (#674)

* Update reservoir size for custom events.

* [Mega-Linter] Apply linters fixes

* Increase custom event limit. (#666)

* Remove duplicated CUSTOM_EVENT_RESERVOIR_SIZE

Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add python 3.11 stable release to GHA (#671)

* Double kafka test runners (#677)

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix failing flask_rest tests (#683)

* Pin flask-restx in flask_rest tests for 2.7

flask-restx dropped support for 2.7 in 1.0.1.

* Drop support for flask-restplus

flask-restx replaced flask-restplus. flask-restplus's latest version supports 3.6 which
we don't even support anymore.

* Fix failing botocore tests (#684)

* Change queue url for botocore>=1.29.0

botocore >=1.29.0 uses sqs.us-east-1.amazonaws.com url instead of queue.amazonaws.com.

* Use tuple version instead of str

* Change botocore129->botocore128

* Add record_log_event to public api (#681)

* Add patch for sentry SDK to correct ASGI v2/v3 detection. (#680)

* Add patch for sentry to correct ASGI v2/v3 detection.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* [Mega-Linter] Apply linters fixes

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Update pip install command (#688)

* Validator transfer from fixtures.py to validators directory, Part 1 (#672)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Fix import issues

* Fix (more) import issues

* Fix validate_transaction_metrics import in aioredis

* Remove commented code from fixtures.py

* Initialize ExternalNode properties (#687)

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix package_version_utils.py logic (#689)

* Fix package_version_utils.py logic

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Move description of func into func itself

* typecast lists into tuples

* Remove breakpoints

* Empty _test_package_version_utils.py

* Make changes to the test

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Pin Github Actions Runner to Ubuntu 20 for Py27 (#698)

* Pin Github Actions runner to ubuntu 20 for Py27

* Upgrade setup-python

* Fix Confluent Kafka Producer Arguments (#699)

* Add confluentkafka test for posargs/kwargs

* Fix confluent kafka topic argument bug

* More sensible producer arguments

* Fix tornado master tests & instrument redis 4.3.5 (#695)

* Remove 3.7 testing of tornado master

tornadomaster dropped support for 3.7

* Instrument new redis 4.3.5 client methods

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Remove pylint codes from flake8 config (#701)

* Validator transfer from fixtures.py to validators directory, Part 2 (#690)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Move validate_application_error_trace_count into validators directory

* Move validate_application_error_event_count into validators directory

* Move validate_synthetics_transaction_trace into validators directory

* Move validate_tt_collector_json to validators directory

* Move validate_transaction_trace_attributes into validator directory

* Move validate_transaction_error_trace_attributes into validator directory

* Move validate_error_trace_collector_json into validator directory

* Move validate_error_event_collector_json into validator directory

* Move validate_transaction_event_collector_json into validator directory

* Fix import issues from merge

* Fix some pylint errors

* Revert 'raise ValueError' to be PY2 compatible

* Delete commented lines

* Fix bug in celery where works don't report data (#696)

This fixes Missing information from Celery workers when using MAX_TASKS_PER_CHILD
issue.

Previously, if celery was run with the --loglevel=INFO flag, an agent instance would be
created for the main celery process and after the first worker shutdown, all following
worker's agent instances would point to that agent instance instead of creating a new
instance. This was root caused to incorrectly creating an agent instance when
application activate was not set. Now no agent instance will be created for the main
celery process.

* Reverts removal of flask_restful hooks. (#705)

* Update instrumented methods in redis. (#707)

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Add TraceCache Guarded Iteration (#704)

* Add MutableMapping API to TraceCache

* Update trace cache usage to use guarded APIs.

* [Mega-Linter] Apply linters fixes

* Bump tests

* Fix keys iterator

* Comments for trace cache methods

* Reorganize tests

* Fix fixture refs

* Fix testing refs

* [Mega-Linter] Apply linters fixes

* Bump tests

* Upper case constant

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Fix Type Constructor Classes in Code Level Metrics (#708)

* Fix CLM exception catching

* Reorganize CLM Tests

* Add type constructor tests to CLM

* Fix line number

* Pin tox version

* Fix lambda tests in CLM

* Fix lint issues

* Turn helper func into pytest fixture

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix sanic and starlette tests (#734)

* Fix sanic tests

* Tweak test fix for sanic

* Remove test for v18.12 in sanic (no longer supported)

* Pin starlette latest to v0.23.1 (for now)

* Add comment in tox about pinned starlette version

* Add methods to instrument (#738)

* Add card to instrumented methods in Redis (#740)

* Add DevContainer (#711)

* Add devcontainer setup

* Add newrelic env vars to passenv

* Add default extensions

* Add devcontainer instructions to contributing docs

* Convert smart quotes in contributing docs.

* Apply proper RST formatting

* [Mega-Linter] Apply linters fixes

* Add GHCR to prerequisites

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Module classmethod fix (#662)

* Fix function_wrapper calls to module

* Fix wrapper in pika hook

* Revert elasticsearch instrumentation

* Revert some wrap_function_wrappers to orig

* Remove comments/breakpoints

* Fix hooks in elasticsearch

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Fix log decorating to be JSON compatible (#736)

* Initial addition of JSON capability

* Add NR-LINKING metadata JSON combatibility

* Remove breakpoint

* Hardcode local log decorating tests

* Tweak linking metatdata parsing/adding

* Revert "Fix log decorating to be JSON compatible" (#746)

* Revert "Fix log decorating to be JSON compatible (#736)"

This reverts commit 0db5fee1e5d44b0791dc517ac9f5d88d1240a340.

* [Mega-Linter] Apply linters fixes

* Trigger tests

Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>

* Add apdexPerfZone attribute to Transaction. (#753)

Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary-martinez@users.noreply.github.com>

Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary-martinez@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix tests in starlette v0.23.1 (#752)

* Fix tests in starlette v0.23.1

* Fix conditional tests

* Add comment to bg_task test

* Support `redis.asyncio` (#744)

* Support `redis.asyncio`

* Fix `flake8` issues

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Redis Asyncio Testing (#750)

* Add standardized method for package version tuples

* Adapt aioredis tests to redis.asyncio

* Standardize version tuple

* Refresh uninstrumented redis methods

* Fix aioredis version checking

* Remove aioredis version function

* CodeCov Integration (#710)

* Add aggregate coverage settings to tox.ini

* Refactor coverage fixture for GHA

* Send coverage data files

* Linter fixes

* Configure codecov report

* Yield cov handle from fixture

* Fix empty coverage fixture

* Specify artifact download dir

* Find coverage files with find command

* Add concurrency cancelling to github actions

* uncomment test deps

* Fix or symbol

* Fix concurrency groups

* Linter fixes

* Add comment for yield None in fixture

* [Mega-Linter] Apply linters fixes

* Bump Tests

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Mergify (#761)

* Add mergify config file

* Remove priority

* Clean up mergify rules

* Add non-draft requirement for merge

* Add merge method

* [Mega-Linter] Apply linters fixes

* Don't update draft PRs.

* Remove merge rules for develop branches

* Linting

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Elasticsearch v8 support (#741)

* Fix function_wrapper calls to module

* Fix wrapper in pika hook

* Revert elasticsearch instrumentation

* Revert some wrap_function_wrappers to orig

* Remove comments/breakpoints

* Fix hooks in elasticsearch

* Add new client methods from v8 and their hooks

* Add elasticsearch v8 to workflow and tox

* Fix indices for elasticsearch01

* Disable xpack security in elasticsearch v8.0

* Start to add try/except blocks in tests

* Add support for v8 transport

* add support for v8 connection

* Add tests-WIP

* Clean up most tests

* Clean up unused instrumentation

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Remove elastic search source code

* Elasticsearch v8 testing

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Scope ES fixture

* ES v8 only supports Python3.6+

* Refactor transport tests for v8

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>

* Remove extra comments

* Added perform_request_kwargs to test_transport

* Fix some linter issues

* Remove extra newline

* Group es v7 v8 process modules together

* Add auto signature detection & binding

* Use bind_arguments in ES

* Add test for wrapped function

* Add validator for datastore trace inputs

* Use common bind_arguments for PY3

* Fix tests in starlette v0.23.1 (#752)

* Fix tests in starlette v0.23.1

* Fix conditional tests

* Add comment to bg_task test

* Split below es 8 methods from es 8 methods

Note the previous tests in this file to check whether a method was instrumented, did not test anything because they were checking whether the list
of methods that we instrumented were instrumented instead of whether
there were uninstrumented methods on the es client that we missed.

Because we decided due to lack of reporting of bugs by our customers, to not support the buggy wrapping on previous es versions (below es8), we
only added tests to assert all methods were wrapped from es8+. We also
are only testing es8+ wrapping of methods since the previous versions
wrapping behavior may not have been correct due to the signature of the
methods changing without us detecting it due to lack of tests. Since our customers have not reported any issues, it seems not worth it at this time to go back and fix these bugs.

* Remove signature auto detection implementation

* Fixup: remove signature autodetection

* Fixup: cleanup

* Test method calls on all es versions

* Fixup: don't run some methods on es7

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: mary-martinez <mmartinez@newrelic.com>
Co-authored-by: enriqueta <edeleon@newrelic.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Update contributors workspace link in CONTRIBUTING.rst. (#760)

* Update link in CONTRIBUTING.rst.

* Update to RST syntax.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add Retry to Pip Install (#763)

* Add retry to pip install

* Fix retry backoff constant

* Fix script failures

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add aiohttp support for expected status codes (#735)

* Add aiohttp support for expected status codes

* Adjust naming convention

* Fix expected tests for new validator behavior

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Fix PyPy Priority Sampling Test (#766)

* Fix pypy priority sampling

* [Mega-Linter] Apply linters fixes

* Bump tests

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Config linter fixes (#768)

* Fix default value and lazy logging pylint

* Fix default value and lazy logging pylint

* Fix unnecessary 'else' in pylint

* Fix logging-not-lazy in pylint

* Fix redefined built-in error in Pylint

* Fix implicit string concatenation in Pylint

* Fix dict() to {} in Pylint

* Make sure eval is OK to use for Pylint

* Fix logging format string for Pylint

* Change list comprehension to generator expression

* [Mega-Linter] Apply linters fixes

* Rerun tests

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Sync tests w/ agents/cross_agent_tests/pull/150 (#770)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Infinite Tracing Batching & Compression (#762)

* Infinite Tracing Batching and Compression settings (#756)

* Add compression setting

* Add batching setting

* Infinite Tracing Compression (#758)

* Initial commit

* Add compression option in StreamingRPC

* Add compression default to tests

* Add test to confirm compression settings

* Remove commented out code

* Set compression settings from settings override

* Infinite Tracing Batching (#759)

* Initial infinite tracing batching implementation

* Add RecordSpanBatch method to mock grpc server

* Span batching settings and testing.

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add final 8t batching tests

* Rename serialization test

* Formatting

* Guard unittests from failing due to batching

* Linting

* Simplify batching algorithm

* Properly wire batching parametrization

* Fix incorrect validator use

* Data loss on reconnect regression testing

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Test stream buffer batch sizes

* Fix logic in supportability metrics for spans

* Clean up nested conditionals in stream buffer

* Compression parametrization in serialization test

* Formatting

* Update 8t test_no_delay_on_ok

* Update protobufs

* Remove unnecessary patching from test

* Fix waiting in supportability metric tests

* Add sleep to waiting in test

* Reorder sleep and condition check

* Mark no data loss xfail for py2.

* Fix conditional check

* Fix flake8 linter issues

---------

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Infinite Tracing Supportability Feature Toggle Metrics (#769)

* Add 8T feature toggle supportability metrics

* Remove supportability metrics when 8t is disabled.

* Formatting

---------

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix DT settings for txn feature tests (#771)

* Fix pyramid testing versions (#764)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix Ariadne Middleware Testing (#776)

* Fix ariadne middleware testing

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>

* [Mega-Linter] Apply linters fixes

* Bump tests

---------

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Exclude merged PRs from automatic mergify actions. (#774)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Refactor Code Coverage (#765)

* Reorder dependency of code coverage fixture

* Fix tests with coverage disabled

* Refactor code coverage fixture

* Clean out old coverage settings

* Fix missing code coverage fixture

* Fix pypy priority sampling

* Start coverage from pytest-cov for better tracking

* Refactor coverage config file

* Ripping out coverage fixtures

* Move tool config to bottom of tox.ini

* Disabling py27 warning

* Renaming env var

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add GraphQL Introspection Setting (#783)

* Add graphql introspection setting

* Sort settings object hierarchy

* Add test for introspection queries setting

* Expand introspection queries testing

* [Mega-Linter] Apply linters fixes

* Adjust introspection detection for graphql

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix instance info tests for redis. (#784)

* Fix instance info tests for redis.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Fix Redis Instance Info (#790)

* Fix failing redis test for new default behavior

* Revert "Fix instance info tests for redis. (#784)"

This reverts commit f7108e3c2a54ab02a1104f6c16bd5fd799b9fc7e.

* Guard GraphQL Settings Lookup (#787)

* Guard graphql settings lookup

* [Mega-Linter] Apply linters fixes

* Bump tests

* Update graphql settings test

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Errors Inbox Improvements (#791)

* Errors inbox attributes and tests (#778)

* Initial errors inbox commit

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add enduser.id field

* Move validate_error_trace_attributes into validators directory

* Add error callback attributes test

* Add tests for enduser.id & error.group.name

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Uncomment code_coverage

* Drop commented out line

---------

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Error Group Callback API (#785)

* Error group initial implementation

* Rewrite error callback to pass map of info

* Fixed incorrect validators causing errors

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Fix validation of error trace attributes

* Expanded error callback test

* Add incorrect type to error callback testing

* Change error group callback to private setting

* Add testing for error group callback inputs

* Separate error group callback tests

* Add explicit testing for the set API

* Ensure error group is string

* Fix python 2 type validation

---------

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* User Tracking for Errors Inbox (#789)

* Add user tracking feature for errors inbox.

* Address review comments,

* Add high_security test.

* Cleanup invalid tests test.

* Update user_id string check.

* Remove set_id outside txn test.

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

---------

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Update Packages (#793)

* Update urllib3 to v1.26.15

* Update six to v1.16.0

* Update coverage exclude for newrelic/packages

* [Mega-Linter] Apply linters fixes

* Drop removed package from urllib3

* Update pytest

* Downgrade websockets version for old sanic testing

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Remove Unused Instrumentation and Tests (#794)

* Remove unused instrumentation files

* Remove testing for deprecated CherryPy versions

* Remove unused pyelasticsearch tests

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix Loguru Instrumentation for v0.7.0 (#798)

* Add autosignature implementation

* Fix loguru with auto-signature

* [Mega-Linter] Apply linters fixes

* Fix tests for Py2

* [Mega-Linter] Apply linters fixes

* Bump tests

* Remove unwrap from signature utils

* Fix arg unpacking

* Remove unwrap arg from bind_args

* Fix linter errors

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>

* Remove Twisted framework (#800)

* Initial twisted commit

* Remove Twisted Framework

* Pin virtualenv, fix pip arg deprecation & disable kafka tests (#803)

* Pin virtualenv

* Fixup: use 20.21.1 instead

* Replace install-options with config-settings

See https://github.com/pypa/pip/issues/11358.

* Temporarily disable kafka tests

* Add tests for pyodbc (#796)

* Add tests for pyodbc

* Move imports into tests to get import coverage

* Fixup: remove time import

* Trigger tests

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add tests for Waitress (#797)

* Change import format

* Initial commit

* Add more tests to adapter_waitress

* Remove commented out code

* [Mega-Linter] Apply linters fixes

* Add assertions to all tests

* Add more NR testing to waitress

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add testing for genshi and mako. (#799)

* Add testing for genshi and mako.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Omit some frameworks from coverage analysis (#810)

* Omit some frameworks from coverage analysis

* Remove commas

* Change format of omit

* Add relative_files option to coverage

* Add absolute directory

* Add envsitepackagedir

* Add coveragerc file

* Add codecov.yml

* [Mega-Linter] Apply linters fixes

* Revert coveragerc file settings

* Add files in packages and more frameworks

* Remove commented line

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Run coverage around pytest (#813)

* Run coverage around pytest

* Trigger tests

* Fixup

* Add redis client_no_touch to ignore list

* Temporarily remove kafka from coverage

* Remove coverage for old libs

* Add required option for tox v4 (#795)

* Add required option for tox v4

* Update tox in GHA

* Remove py27 no-cache-dir

* Fix Testing Failures (#828)

* Fix tastypie tests

* Adjust asgiref pinned version

* Make aioredis key PID unique

* Pin more asgiref versions

* Fix pytest test filtering when running tox (#823)

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Validator transfer p3 (#745)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Move validate_application_error_trace_count into validators directory

* Move validate_application_error_event_count into validators directory

* Move validate_synthetics_transaction_trace into validators directory

* Move validate_tt_collector_json to validators directory

* Move validate_transaction_trace_attributes into validator directory

* Move validate_transaction_error_trace_attributes into validator directory

* Move validate_error_trace_collector_json into validator directory

* Move validate_error_event_collector_json into validator directory

* Move validate_transaction_event_collector_json into validator directory

* Move validate_custom_event_collector_json into validator directory

* Move validate_tt_parameters into validator directory

* Move validate_tt_parameters into validator directory

* Move validate_tt_segment_params into validator directory

* Move validate_browser_attributes into validators directory

* Move validate_error_event_attributes into validators directory

* Move validate_error_trace_attributes_outside_transaction into validators directory

* Move validate_error_event_attributes_outside_transaction into validators directory

* Fix some pylint errors

* Redirect check_error_attributes

* Fix more Pylint errors

* Fix import issues from move

* Fix more import shuffle errors

* Sort logging JSON test for PY2 consistency

* Fix Pylint errors in validators

* Fix import error

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix set output warning using new GHA syntax (#833)

* Fix set output warning using new GHA syntax

* Fix quoting

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Instrument Redis waitaof (#851)

* Add uninstrumented command to redis

* Update logic for datastore_aioredis instance info

* [Mega-Linter] Apply linters fixes

* Bump tests

* Update defaults for aioredis port

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Ignore patched hooks files. (#849)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix local scoped package reporting (#837)

* Include isort stdlibs for determining stdlib modules

* Use isort & sys to eliminate std & builtin modules

Previously, the logic would fail to identify third party modules installed within the
local user socpe. This fixes that issue by skipping builtin and stdlib modules by name,
instead of attempting to identify third party modules based on file paths.

* Handle importlib_metadata.version being a callable

* Add isort into third party notices

* [Mega-Linter] Apply linters fixes

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Trigger tests

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* MSSQL Testing (#852)

* For mysql tests into mssql

* Add tox envs for mssql

* Add mssql DB settings

* Add correct MSSQL tests

* Add mssql to GHA

* Add MSSQL libs to CI image

* Pin to dev CI image sha

* Swap SQLServer container image

* Fix healthcheck

* Put MSSQL image back

* Drop pypy37 tests

* Unpin dev image sha

* Exclude command line functionality from test coverage (#855)

* FIX: resilient environment settings (#825)

if the application uses generalimport to manage optional depedencies,
it's possible that generalimport.MissingOptionalDependency is raised.
In this case, we should not report the module as it is not actually loaded and
is not a runtime dependency of the application.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Replace drop_transaction logic by using transaction context manager (#832)

* Replace drop_transaction call

* [Mega-Linter] Apply linters fixes

* Empty commit to start tests

* Change logic in BG Wrappers

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Upgrade to Pypy38 for TypedDict (#861)

* Fix base branch

* Revert tox dependencies

* Replace all pypy37 with pypy38

* Remove action.yml file

* Push Empty Commit

* Fix skip_missing_interpreters behavior

* Fix skip_missing_interpreters behavior

* Pin dev CI image sha

* Remove unsupported Tornado tests

* Add latest tests to Tornado

* Remove pypy38 (for now)

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Add profile_trace testing (#858)

* Include isort stdlibs for determining stdlib modules

* Use isort & sys to eliminate std & builtin modules

Previously, the logic would fail to identify third party modules installed within the
local user socpe. This fixes that issue by skipping builtin and stdlib modules by name,
instead of attempting to identify third party modules based on file paths.

* Handle importlib_metadata.version being a callable

* Add isort into third party notices

* [Mega-Linter] Apply linters fixes

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Trigger tests

* Add testing for profile trace.

* [Mega-Linter] Apply linters fixes

* Ignore __call__ from coverage on profile_trace.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Add Transaction API Tests (#857)

* Test for suppress_apdex_metric

* Add custom_metrics tests

* Add distributed_trace_headers testing in existing tests

* [Mega-Linter] Apply linters fixes

* Remove redundant if-statement

* Ignore deprecated transaction function from coverage

* [Mega-Linter] Apply linters fixes

* Push empty commit

* Update newrelic/api/transaction.py

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add tests for jinja2. (#842)

* Add tests for jinja2.

* [Mega-Linter] Apply linters fixes

* Update tox.ini

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Add tests for newrelic/config.py (#860)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix starlette testing matrix for updated behavior. (#869)

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Correct Serverless Distributed Tracing Logic (#870)

* Fix serverless logic for distributed tracing

* Test stubs

* Collapse testing changes

* Add negative testing to regular DT test suite

* Apply linter fixes

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Kafka CI (#863)

* Reenable kafka testing

* Add kafka dev lib

* Sync install python with devcontainer

* Fix kafka local host setting

* Drop set -u flag

* Pin CI image dev sha

* Add parallel flag to kafka

* Fix proper exit status

* Build librdkafka from source

* Updated dev image sha

* Remove coverage exclusions

* Add new options to better emulate GHA

* Reconfigure kafka networking

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Fix kafka ports on GHA

* Run kafka tests serially

* Separate kafka consumer groups

* Put CI container makefile back

* Remove confluent kafka Py27 for latest

* Roll back ubuntu version update

* Update dev ci sha

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Change image tag to latest (#871)

* Change image tag to latest

* Use built sha

* Fixup

* Replace w/ latest

* Add full version for pypy3.8 to tox (#872)

* Add full version for pypy3.8

* Remove solrpy from tests

* Remove graphql 2 support & promise support

* Instrument RedisCluster (#809)

* Add instrumentation for RedisCluster

* Add tests for redis cluster

* Ignore Django instrumentation from older versions (#859)

* Ignore Django instrumentation from older versions

* Ignore Django instrumentation from older versions

* Fix text concatenation

* Update newrelic/hooks/framework_django.py

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Update newrelic/hooks/framework_django.py

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Remove py2_namespace from validator

* Fix differences w/ main

* Fixup

* Modify postgresql tests to include WITH query (#885)

* Modify postgresql tests to include WITH

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Fixup: merge

* Fixup tests

* Fixup

* Fixup: remove old test files

* Remove app specific ariadne tests

* Fix ariadne middleware tests for all versions.

* Fix broken graphene tests and update strawberry version logic.

* Remove graphql starlette code.

* Develop redis addons (#888)

* Added separate instrumentation for redis.asyncio.client (#808)

* Added separate instrumentation for redis.asyncio.client

Merge main branch updates

Add tests for newrelic/config.py (#860)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Modify redis tests

* removed redis.asyncio from aioredis instrumentation

removed aioredis instrumentation in redis asyncio client

removed redis.asyncio from aioredis instrumentation

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Redis asyncio testing (#881)

* Add/modify redis asyncio tests

* Change to psubscribe

* Tweak redis async tests/instrumentation

* [Mega-Linter] Apply linters fixes

* Push empty commit

* Exclude older instrumentation from coverage

* Resolve requested testing changes

* Tweak async pubsub test

* Fix pubsub test

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Remove aioredis and aredis from tox (#891)

* Remove aioredis and aredis from tox

* Add aredis and aioredis to coverage ignore

* Push empty commit

* Fix codecov ignore file

---------

Co-authored-by: Ahmed <ahmedhropewala@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Add google firestore instrumentation (#893)

* Add instrumentation for Google Firestore documents and collections (#876)

* Initial GCP firestore instrumentation commit.

* Add testing for documents and collections + test generators
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add co-authors.
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add co-authors.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Trim whitespace

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Firestore CI (#877)

* Add firestore CI runner

* Correct hook file name

* Setup emulator credentials

* Swap dependency to firestore alone

* Hacky setup for firestore

* Fix firestore hostname

* Ensure firestore connection

* Fix CI issues

* Refactor Firestore Hooks (#879)

* Remove unnecessary instrumentation

* Simplify existing instrumentation

* Remove unnecessary settings lookups

* Firestore Sync Client Instrumentation (#880)

* Remove unnecessary instrumentation

* Simplify existing instrumentation

* Remove unnecessary settings lookups

* Client instrumentation

* Add query and aggregation query instrumentation

* Fix deprecation warning

* Simplify collection lookup

* Combine query test files

* Rename methods for clarity

* Instrument Firestore batching

* Add transaction instrumentation

* Consumer iterators on <=Py38

* Allow better parallelization in firestore tests

* Clean out unnecessary code

* [Mega-Linter] Apply linters fixes

* Better parallelization safeguards

* Add collection group instrumentation

* [Mega-Linter] Apply linters fixes

* Change imports to native APIs

* Swap target functions to lambdas

* Convert exercise functions to fixtures

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Update datastore_trace wrapper to take instance info (#883)

* Update datastore trace wrapper to take instance info.

* [Mega-Linter] Apply linters fixes

* Make instance info args optional.

* [Mega-Linter] Apply linters fixes

* Add datastore trace testing.

* Add background task decorator.

* [Mega-Linter] Apply linters fixes

* Fix typo in validator.

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Async Generator Wrapper (#884)

* Add async generator wrapper

* Add no harm test

* Remove anext calls

* Add graphql traces to decorator testing

* Remove pypy generator gc logic

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Trace Async Wrapper Argument (#886)

* Add async_wrapper to datastore_trace api

* Add async wrapper argument to all trace APIs

* Add testing for automatic and manual asyncwrappers

* Firstore Async Instrumentation (#882)

* Remove unnecessary instrumentation

* Simplify existing instrumentation

* Remove unnecessary settings lookups

* Client instrumentation

* Add query and aggregation query instrumentation

* Fix deprecation warning

* Simplify collection lookup

* Combine query test files

* Rename methods for clarity

* Instrument Firestore batching

* Add transaction instrumentation

* Consumer iterators on <=Py38

* Add async generator wrapper

* Allow better parallelization in firestore tests

* Fix issue in async generator wrapper

* Add async client instrumentation

* Squashed commit of the following:

commit 9d411e00e37476be4ce0c40c7e64e71c4a09cfc6
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 15:57:39 2023 -0700

    Clean out unnecessary code

commit cb550bad9bb9e15edfdcef5dd361022448e0348f
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 14:27:01 2023 -0700

    Allow better parallelization in firestore tests

* Add async collection instrumentation

* Add async document instrumentation

* Async Query instrumentation

* Add async batch instrumentation

* Add instrumentation for AsyncTransaction

* Squashed commit of the following:

commit c836f8f377f9391af86452e81b59f834330b18fb
Author: TimPansino <TimPansino@users.noreply.github.com>
Date:   Thu Jul 27 19:54:35 2023 +0000

    [Mega-Linter] Apply linters fixes

commit 02a55a11017fd27b45f06ab719a33917cf185aac
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 12:46:46 2023 -0700

    Add collection group instrumentation

commit ab1f4ff5d2e88e6def42fa3c99c619f9673ce918
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 12:00:33 2023 -0700

    Better parallelization safeguards

commit fa5f39a2b037421cf017a062901c0ea1ec2b9723
Author: TimPansino <TimPansino@users.noreply.github.com>
Date:   Wed Jul 26 22:59:11 2023 +0000

    [Mega-Linter] Apply linters fixes

commit 9d411e00e37476be4ce0c40c7e64e71c4a09cfc6
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 15:57:39 2023 -0700

    Clean out unnecessary code

commit cb550bad9bb9e15edfdcef5dd361022448e0348f
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 14:27:01 2023 -0700

    Allow better parallelization in firestore tests

* Remove reset_firestore

* Re-merge of test_query

* Use public API imports

* Add async collection group instrumentation

* Refactor exercise functions to fixtures

* Squashed commit of the following:

commit 09c5e11498b4c200057190e859f8151241c421f3
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 14:33:24 2023 -0700

    Add testing for automatic and manual asyncwrappers

commit fc3ef6bfb8cb2f9cd6c8ffdf7bfd953be41cc974
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 14:33:05 2023 -0700

    Add async wrapper argument to all trace APIs

commit 479f9e236e2212e0f9cdf51627996068027acd82
Merge: faf3cccea edd1f94b0
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 13:44:24 2023 -0700

    Merge remote-tracking branch 'origin/develop-google-firestore-instrumentation' into feature-async-wrapper-argument

commit edd1f94b0f601a2674da4e594b777bae0eed6643
Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Date:   Wed Aug 2 13:40:51 2023 -0700

    Async Generator Wrapper (#884)

    * Add async generator wrapper

    * Add no harm test

    * Remove anext calls

    * Add graphql traces to decorator testing

    * Remove pypy generator gc logic

    ---------

    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit faf3ccceae127128aff81fc59d95dd3f49699a3c
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 31 15:10:56 2023 -0700

    Add async_wrapper to datastore_trace api

* Remove custom wrapper code from firestore

* Undo wrapper edits

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Firestore Instance Info (#887)

* Add instance info testing to query

* Instance info for query.stream

* Squashed commit of the following:

commit 1c426c84b2c8ee36c6a40bf6bbfcb862c90db1cf
Author: umaannamalai <umaannamalai@users.noreply.github.com>
Date:   Mon Jul 31 23:01:49 2023 +0000

    [Mega-Linter] Apply linters fixes

commit 7687c0695783fe40a86e705ec9790c19248f0c1e
Author: Uma Annamalai <uannamalai@newrelic.com>
Date:   Mon Jul 31 15:47:09 2023 -0700

    Make instance info args optional.

commit 53f8400ce0d0e8b53bfcaba4b54f898a63e3d68b
Author: umaannamalai <umaannamalai@users.noreply.github.com>
Date:   Mon Jul 31 22:23:20 2023 +0000

    [Mega-Linter] Apply linters fixes

commit d95d477cdfd54de4490211e3c4dd7de2504057f3
Author: Uma Annamalai <uannamalai@newrelic.com>
Date:   Mon Jul 31 15:20:41 2023 -0700

    Update datastore trace wrapper to take instance info.

* Add instance info testing to all apis

* Separate transaction instance info tests

* Implement all instance info getters

* Squashed commit of the following:

commit db3561e54f773730f269455ae323865b6230a613
Merge: 844e556ab edd1f94b0
Author: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Date:   Wed Aug 2 22:10:32 2023 +0000

    Merge branch 'develop-google-firestore-instrumentation' into feature-firstore-async-instrumentation

commit 844e556abfbca63573e51a2647141e07ce9e942f
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 15:09:49 2023 -0700

    Remove custom wrapper code from firestore

commit ad2999ff50b6b17b5774f69ca8116ee901f47474
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 14:58:38 2023 -0700

    Squashed commit of the following:

    commit 09c5e11498b4c200057190e859f8151241c421f3
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Aug 2 14:33:24 2023 -0700

        Add testing for automatic and manual asyncwrappers

    commit fc3ef6bfb8cb2f9cd6c8ffdf7bfd953be41cc974
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Aug 2 14:33:05 2023 -0700

        Add async wrapper argument to all trace APIs

    commit 479f9e236e2212e0f9cdf51627996068027acd82
    Merge: faf3cccea edd1f94b0
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Aug 2 13:44:24 2023 -0700

        Merge remote-tracking branch 'origin/develop-google-firestore-instrumentation' into feature-async-wrapper-argument

    commit edd1f94b0f601a2674da4e594b777bae0eed6643
    Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
    Date:   Wed Aug 2 13:40:51 2023 -0700

        Async Generator Wrapper (#884)

        * Add async generator wrapper

        * Add no harm test

        * Remove anext calls

        * Add graphql traces to decorator testing

        * Remove pypy generator gc logic

        ---------

        Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

    commit faf3ccceae127128aff81fc59d95dd3f49699a3c
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Mon Jul 31 15:10:56 2023 -0700

        Add async_wrapper to datastore_trace api

commit edd1f94b0f601a2674da4e594b777bae0eed6643
Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Date:   Wed Aug 2 13:40:51 2023 -0700

    Async Generator Wrapper (#884)

    * Add async generator wrapper

    * Add no harm test

    * Remove anext calls

    * Add graphql traces to decorator testing

    * Remove pypy generator gc logic

    ---------

    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit 29579fc2ecd8199b0227922425556d3279f17e57
Merge: 4a8a3fe04 7596fb40d
Author: mergify[b…
hmstepanek added a commit that referenced this pull request Aug 28, 2023
* Add GraphQL Server Sanic Instrumentation

* Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add co-authors

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Comment out Copyright notice message

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Finalize Sanic testing

* Fix flask framework details with callable

* Parametrized testing for graphql-server

* GraphQL Async Resolvers

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* GraphQL Proper Coro and Promise Support (#508)

* Fix GraphQL async issues

* Fix nonlocal binding issues in python 2

* Fix promises with async graphql

* Issues with promises

* Fix promises in graphql2

* Fixed all graphql async issues

* Fix Py27 quirks

* Update tox

* Fix importing paths of graphqlserver

* Fix broken import path

* Unpin pypy37

* Fix weird import issues

* Fix graphql impl coros (#522)

* Strawberry Async Updates (#521)

* Parameterize strawberry tests

* Remove duplicate functions

* Fix strawberry version testing

* Updates

* Finalize strawberry updates

* Clean out code

* Ariadne Async Testing (#523)

* Parameterize ariadne tests

* Fixing ariadne tests

* Fixing ariadne middleware

* Set 0 extra spans for graphql core tests

* Add spans attr to strawberry tests

* Graphene Async Testing (#524)

* Graphene Async Testing

* Fix missing extra spans numbers

* Graphene promise tests

* Fix py2 imports

* Removed unused __init__

* Update code level metrics validator for py2

* Unify graphql testing imports

* Fix ariadne imports

* Fix other imports

* Fix import issues

* Merge main into develop-graphql-async (#892)

* Update Versioning Scheme (#651)

* Update versioning scheme to 3 semver digits

* Fix version indexing

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>

* Remove version truncation

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Trace Finalizer Crashes (#652)

* Patch crashes in various traces with None settings

* Add tests for graphql trace types to unittests

* Add test to ensure traces don't crash in finalizer

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Add usage tracking metrics for Kafka clients. (#658)

* Add usage tracking metrics for Kafka clients.

* Fix double import lint error

* [Mega-Linter] Apply linters fixes

* Create version util file and add metrics to consumer.

* Address linting errors.

* Add missing semi-colon.

* [Mega-Linter] Apply linters fixes

* Bump tests.

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Deprecate add_custom_parameter(s) API (#655)

* Deprecate add_custom_parameter(s) API

* Fix unicode tests and some pylint errors

* Fix more pylint errors

* Revert "Fix more pylint errors"

This reverts commit 807ec1c5c40fe421300ccdcd6fedd81f288dce2c.

* Edit deprecation message in add_custom_parameters

* Add usage metrics for Daphne and Hypercorn. (#665)

* Add usage metrics for Daphne and Hypercorn.

* [Mega-Linter] Apply linters fixes

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Fix Flask view support in Code Level Metrics (#664)

* Fix Flask view support in Code Level Metrics

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* [Mega-Linter] Apply linters fixes

* Bump tests

* Fix CLM tests for flaskrest

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Fix aioredis version crash (#661)

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add double wrapped testing for Hypercorn and Daphne and dispatcher argument to WSGI API.  (#667)

* Add double wrapped app tests.

* Fix linting errors.

* [Mega-Linter] Apply linters fixes

* Add co-authors.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add Python 3.11 Support (#654)

* Add py311 tests

* Fix typo

* Added 3.11 support for aiohttp framework

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Set up environment to run Python 3.11

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Add Python 3.11 support for agent_features

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Partial Python 3.11 support added for Tornado

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Adjust postgres versions

* Fix tornado install path locally

* Remove aioredis py311 tests

* Update 3.11 to dev in tests

* Fix sanic instrumentation and imp/importlib deprecation

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Simplify wheel build options

* Update cibuildwheel for 3.11

* Remove falconmaster py311 test

Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Remove devcontainer submodule (#669)

* Uncomment NewRelicContextFormatter from agent.py (#676)

* Fix botocore tests for botocore v1.28.1+ (#675)

* Fix botocore tests for botocore v1.28.1+

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Fix boto3 tests for botocore v1.28.1+

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Fix boto3 tests for python 2.7

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Feature increased custom event limit (#674)

* Update reservoir size for custom events.

* [Mega-Linter] Apply linters fixes

* Increase custom event limit. (#666)

* Remove duplicated CUSTOM_EVENT_RESERVOIR_SIZE

Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add python 3.11 stable release to GHA (#671)

* Double kafka test runners (#677)

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix failing flask_rest tests (#683)

* Pin flask-restx in flask_rest tests for 2.7

flask-restx dropped support for 2.7 in 1.0.1.

* Drop support for flask-restplus

flask-restx replaced flask-restplus. flask-restplus's latest version supports 3.6 which
we don't even support anymore.

* Fix failing botocore tests (#684)

* Change queue url for botocore>=1.29.0

botocore >=1.29.0 uses sqs.us-east-1.amazonaws.com url instead of queue.amazonaws.com.

* Use tuple version instead of str

* Change botocore129->botocore128

* Add record_log_event to public api (#681)

* Add patch for sentry SDK to correct ASGI v2/v3 detection. (#680)

* Add patch for sentry to correct ASGI v2/v3 detection.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* [Mega-Linter] Apply linters fixes

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Update pip install command (#688)

* Validator transfer from fixtures.py to validators directory, Part 1 (#672)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Fix import issues

* Fix (more) import issues

* Fix validate_transaction_metrics import in aioredis

* Remove commented code from fixtures.py

* Initialize ExternalNode properties (#687)

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix package_version_utils.py logic (#689)

* Fix package_version_utils.py logic

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Move description of func into func itself

* typecast lists into tuples

* Remove breakpoints

* Empty _test_package_version_utils.py

* Make changes to the test

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Pin Github Actions Runner to Ubuntu 20 for Py27 (#698)

* Pin Github Actions runner to ubuntu 20 for Py27

* Upgrade setup-python

* Fix Confluent Kafka Producer Arguments (#699)

* Add confluentkafka test for posargs/kwargs

* Fix confluent kafka topic argument bug

* More sensible producer arguments

* Fix tornado master tests & instrument redis 4.3.5 (#695)

* Remove 3.7 testing of tornado master

tornadomaster dropped support for 3.7

* Instrument new redis 4.3.5 client methods

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Remove pylint codes from flake8 config (#701)

* Validator transfer from fixtures.py to validators directory, Part 2 (#690)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Move validate_application_error_trace_count into validators directory

* Move validate_application_error_event_count into validators directory

* Move validate_synthetics_transaction_trace into validators directory

* Move validate_tt_collector_json to validators directory

* Move validate_transaction_trace_attributes into validator directory

* Move validate_transaction_error_trace_attributes into validator directory

* Move validate_error_trace_collector_json into validator directory

* Move validate_error_event_collector_json into validator directory

* Move validate_transaction_event_collector_json into validator directory

* Fix import issues from merge

* Fix some pylint errors

* Revert 'raise ValueError' to be PY2 compatible

* Delete commented lines

* Fix bug in celery where works don't report data (#696)

This fixes Missing information from Celery workers when using MAX_TASKS_PER_CHILD
issue.

Previously, if celery was run with the --loglevel=INFO flag, an agent instance would be
created for the main celery process and after the first worker shutdown, all following
worker's agent instances would point to that agent instance instead of creating a new
instance. This was root caused to incorrectly creating an agent instance when
application activate was not set. Now no agent instance will be created for the main
celery process.

* Reverts removal of flask_restful hooks. (#705)

* Update instrumented methods in redis. (#707)

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Add TraceCache Guarded Iteration (#704)

* Add MutableMapping API to TraceCache

* Update trace cache usage to use guarded APIs.

* [Mega-Linter] Apply linters fixes

* Bump tests

* Fix keys iterator

* Comments for trace cache methods

* Reorganize tests

* Fix fixture refs

* Fix testing refs

* [Mega-Linter] Apply linters fixes

* Bump tests

* Upper case constant

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Fix Type Constructor Classes in Code Level Metrics (#708)

* Fix CLM exception catching

* Reorganize CLM Tests

* Add type constructor tests to CLM

* Fix line number

* Pin tox version

* Fix lambda tests in CLM

* Fix lint issues

* Turn helper func into pytest fixture

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix sanic and starlette tests (#734)

* Fix sanic tests

* Tweak test fix for sanic

* Remove test for v18.12 in sanic (no longer supported)

* Pin starlette latest to v0.23.1 (for now)

* Add comment in tox about pinned starlette version

* Add methods to instrument (#738)

* Add card to instrumented methods in Redis (#740)

* Add DevContainer (#711)

* Add devcontainer setup

* Add newrelic env vars to passenv

* Add default extensions

* Add devcontainer instructions to contributing docs

* Convert smart quotes in contributing docs.

* Apply proper RST formatting

* [Mega-Linter] Apply linters fixes

* Add GHCR to prerequisites

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Module classmethod fix (#662)

* Fix function_wrapper calls to module

* Fix wrapper in pika hook

* Revert elasticsearch instrumentation

* Revert some wrap_function_wrappers to orig

* Remove comments/breakpoints

* Fix hooks in elasticsearch

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Fix log decorating to be JSON compatible (#736)

* Initial addition of JSON capability

* Add NR-LINKING metadata JSON combatibility

* Remove breakpoint

* Hardcode local log decorating tests

* Tweak linking metatdata parsing/adding

* Revert "Fix log decorating to be JSON compatible" (#746)

* Revert "Fix log decorating to be JSON compatible (#736)"

This reverts commit 0db5fee1e5d44b0791dc517ac9f5d88d1240a340.

* [Mega-Linter] Apply linters fixes

* Trigger tests

Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>

* Add apdexPerfZone attribute to Transaction. (#753)

Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary-martinez@users.noreply.github.com>

Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary-martinez@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix tests in starlette v0.23.1 (#752)

* Fix tests in starlette v0.23.1

* Fix conditional tests

* Add comment to bg_task test

* Support `redis.asyncio` (#744)

* Support `redis.asyncio`

* Fix `flake8` issues

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Redis Asyncio Testing (#750)

* Add standardized method for package version tuples

* Adapt aioredis tests to redis.asyncio

* Standardize version tuple

* Refresh uninstrumented redis methods

* Fix aioredis version checking

* Remove aioredis version function

* CodeCov Integration (#710)

* Add aggregate coverage settings to tox.ini

* Refactor coverage fixture for GHA

* Send coverage data files

* Linter fixes

* Configure codecov report

* Yield cov handle from fixture

* Fix empty coverage fixture

* Specify artifact download dir

* Find coverage files with find command

* Add concurrency cancelling to github actions

* uncomment test deps

* Fix or symbol

* Fix concurrency groups

* Linter fixes

* Add comment for yield None in fixture

* [Mega-Linter] Apply linters fixes

* Bump Tests

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Mergify (#761)

* Add mergify config file

* Remove priority

* Clean up mergify rules

* Add non-draft requirement for merge

* Add merge method

* [Mega-Linter] Apply linters fixes

* Don't update draft PRs.

* Remove merge rules for develop branches

* Linting

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Elasticsearch v8 support (#741)

* Fix function_wrapper calls to module

* Fix wrapper in pika hook

* Revert elasticsearch instrumentation

* Revert some wrap_function_wrappers to orig

* Remove comments/breakpoints

* Fix hooks in elasticsearch

* Add new client methods from v8 and their hooks

* Add elasticsearch v8 to workflow and tox

* Fix indices for elasticsearch01

* Disable xpack security in elasticsearch v8.0

* Start to add try/except blocks in tests

* Add support for v8 transport

* add support for v8 connection

* Add tests-WIP

* Clean up most tests

* Clean up unused instrumentation

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Remove elastic search source code

* Elasticsearch v8 testing

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Scope ES fixture

* ES v8 only supports Python3.6+

* Refactor transport tests for v8

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>

* Remove extra comments

* Added perform_request_kwargs to test_transport

* Fix some linter issues

* Remove extra newline

* Group es v7 v8 process modules together

* Add auto signature detection & binding

* Use bind_arguments in ES

* Add test for wrapped function

* Add validator for datastore trace inputs

* Use common bind_arguments for PY3

* Fix tests in starlette v0.23.1 (#752)

* Fix tests in starlette v0.23.1

* Fix conditional tests

* Add comment to bg_task test

* Split below es 8 methods from es 8 methods

Note the previous tests in this file to check whether a method was instrumented, did not test anything because they were checking whether the list
of methods that we instrumented were instrumented instead of whether
there were uninstrumented methods on the es client that we missed.

Because we decided due to lack of reporting of bugs by our customers, to not support the buggy wrapping on previous es versions (below es8), we
only added tests to assert all methods were wrapped from es8+. We also
are only testing es8+ wrapping of methods since the previous versions
wrapping behavior may not have been correct due to the signature of the
methods changing without us detecting it due to lack of tests. Since our customers have not reported any issues, it seems not worth it at this time to go back and fix these bugs.

* Remove signature auto detection implementation

* Fixup: remove signature autodetection

* Fixup: cleanup

* Test method calls on all es versions

* Fixup: don't run some methods on es7

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: mary-martinez <mmartinez@newrelic.com>
Co-authored-by: enriqueta <edeleon@newrelic.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Update contributors workspace link in CONTRIBUTING.rst. (#760)

* Update link in CONTRIBUTING.rst.

* Update to RST syntax.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add Retry to Pip Install (#763)

* Add retry to pip install

* Fix retry backoff constant

* Fix script failures

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add aiohttp support for expected status codes (#735)

* Add aiohttp support for expected status codes

* Adjust naming convention

* Fix expected tests for new validator behavior

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Fix PyPy Priority Sampling Test (#766)

* Fix pypy priority sampling

* [Mega-Linter] Apply linters fixes

* Bump tests

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Config linter fixes (#768)

* Fix default value and lazy logging pylint

* Fix default value and lazy logging pylint

* Fix unnecessary 'else' in pylint

* Fix logging-not-lazy in pylint

* Fix redefined built-in error in Pylint

* Fix implicit string concatenation in Pylint

* Fix dict() to {} in Pylint

* Make sure eval is OK to use for Pylint

* Fix logging format string for Pylint

* Change list comprehension to generator expression

* [Mega-Linter] Apply linters fixes

* Rerun tests

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Sync tests w/ agents/cross_agent_tests/pull/150 (#770)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Infinite Tracing Batching & Compression (#762)

* Infinite Tracing Batching and Compression settings (#756)

* Add compression setting

* Add batching setting

* Infinite Tracing Compression (#758)

* Initial commit

* Add compression option in StreamingRPC

* Add compression default to tests

* Add test to confirm compression settings

* Remove commented out code

* Set compression settings from settings override

* Infinite Tracing Batching (#759)

* Initial infinite tracing batching implementation

* Add RecordSpanBatch method to mock grpc server

* Span batching settings and testing.

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add final 8t batching tests

* Rename serialization test

* Formatting

* Guard unittests from failing due to batching

* Linting

* Simplify batching algorithm

* Properly wire batching parametrization

* Fix incorrect validator use

* Data loss on reconnect regression testing

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Test stream buffer batch sizes

* Fix logic in supportability metrics for spans

* Clean up nested conditionals in stream buffer

* Compression parametrization in serialization test

* Formatting

* Update 8t test_no_delay_on_ok

* Update protobufs

* Remove unnecessary patching from test

* Fix waiting in supportability metric tests

* Add sleep to waiting in test

* Reorder sleep and condition check

* Mark no data loss xfail for py2.

* Fix conditional check

* Fix flake8 linter issues

---------

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Infinite Tracing Supportability Feature Toggle Metrics (#769)

* Add 8T feature toggle supportability metrics

* Remove supportability metrics when 8t is disabled.

* Formatting

---------

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix DT settings for txn feature tests (#771)

* Fix pyramid testing versions (#764)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix Ariadne Middleware Testing (#776)

* Fix ariadne middleware testing

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>

* [Mega-Linter] Apply linters fixes

* Bump tests

---------

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Exclude merged PRs from automatic mergify actions. (#774)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Refactor Code Coverage (#765)

* Reorder dependency of code coverage fixture

* Fix tests with coverage disabled

* Refactor code coverage fixture

* Clean out old coverage settings

* Fix missing code coverage fixture

* Fix pypy priority sampling

* Start coverage from pytest-cov for better tracking

* Refactor coverage config file

* Ripping out coverage fixtures

* Move tool config to bottom of tox.ini

* Disabling py27 warning

* Renaming env var

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add GraphQL Introspection Setting (#783)

* Add graphql introspection setting

* Sort settings object hierarchy

* Add test for introspection queries setting

* Expand introspection queries testing

* [Mega-Linter] Apply linters fixes

* Adjust introspection detection for graphql

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix instance info tests for redis. (#784)

* Fix instance info tests for redis.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Fix Redis Instance Info (#790)

* Fix failing redis test for new default behavior

* Revert "Fix instance info tests for redis. (#784)"

This reverts commit f7108e3c2a54ab02a1104f6c16bd5fd799b9fc7e.

* Guard GraphQL Settings Lookup (#787)

* Guard graphql settings lookup

* [Mega-Linter] Apply linters fixes

* Bump tests

* Update graphql settings test

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Errors Inbox Improvements (#791)

* Errors inbox attributes and tests (#778)

* Initial errors inbox commit

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add enduser.id field

* Move validate_error_trace_attributes into validators directory

* Add error callback attributes test

* Add tests for enduser.id & error.group.name

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Uncomment code_coverage

* Drop commented out line

---------

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Error Group Callback API (#785)

* Error group initial implementation

* Rewrite error callback to pass map of info

* Fixed incorrect validators causing errors

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Fix validation of error trace attributes

* Expanded error callback test

* Add incorrect type to error callback testing

* Change error group callback to private setting

* Add testing for error group callback inputs

* Separate error group callback tests

* Add explicit testing for the set API

* Ensure error group is string

* Fix python 2 type validation

---------

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* User Tracking for Errors Inbox (#789)

* Add user tracking feature for errors inbox.

* Address review comments,

* Add high_security test.

* Cleanup invalid tests test.

* Update user_id string check.

* Remove set_id outside txn test.

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

---------

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Update Packages (#793)

* Update urllib3 to v1.26.15

* Update six to v1.16.0

* Update coverage exclude for newrelic/packages

* [Mega-Linter] Apply linters fixes

* Drop removed package from urllib3

* Update pytest

* Downgrade websockets version for old sanic testing

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Remove Unused Instrumentation and Tests (#794)

* Remove unused instrumentation files

* Remove testing for deprecated CherryPy versions

* Remove unused pyelasticsearch tests

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix Loguru Instrumentation for v0.7.0 (#798)

* Add autosignature implementation

* Fix loguru with auto-signature

* [Mega-Linter] Apply linters fixes

* Fix tests for Py2

* [Mega-Linter] Apply linters fixes

* Bump tests

* Remove unwrap from signature utils

* Fix arg unpacking

* Remove unwrap arg from bind_args

* Fix linter errors

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>

* Remove Twisted framework (#800)

* Initial twisted commit

* Remove Twisted Framework

* Pin virtualenv, fix pip arg deprecation & disable kafka tests (#803)

* Pin virtualenv

* Fixup: use 20.21.1 instead

* Replace install-options with config-settings

See https://github.com/pypa/pip/issues/11358.

* Temporarily disable kafka tests

* Add tests for pyodbc (#796)

* Add tests for pyodbc

* Move imports into tests to get import coverage

* Fixup: remove time import

* Trigger tests

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add tests for Waitress (#797)

* Change import format

* Initial commit

* Add more tests to adapter_waitress

* Remove commented out code

* [Mega-Linter] Apply linters fixes

* Add assertions to all tests

* Add more NR testing to waitress

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add testing for genshi and mako. (#799)

* Add testing for genshi and mako.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Omit some frameworks from coverage analysis (#810)

* Omit some frameworks from coverage analysis

* Remove commas

* Change format of omit

* Add relative_files option to coverage

* Add absolute directory

* Add envsitepackagedir

* Add coveragerc file

* Add codecov.yml

* [Mega-Linter] Apply linters fixes

* Revert coveragerc file settings

* Add files in packages and more frameworks

* Remove commented line

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Run coverage around pytest (#813)

* Run coverage around pytest

* Trigger tests

* Fixup

* Add redis client_no_touch to ignore list

* Temporarily remove kafka from coverage

* Remove coverage for old libs

* Add required option for tox v4 (#795)

* Add required option for tox v4

* Update tox in GHA

* Remove py27 no-cache-dir

* Fix Testing Failures (#828)

* Fix tastypie tests

* Adjust asgiref pinned version

* Make aioredis key PID unique

* Pin more asgiref versions

* Fix pytest test filtering when running tox (#823)

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Validator transfer p3 (#745)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Move validate_application_error_trace_count into validators directory

* Move validate_application_error_event_count into validators directory

* Move validate_synthetics_transaction_trace into validators directory

* Move validate_tt_collector_json to validators directory

* Move validate_transaction_trace_attributes into validator directory

* Move validate_transaction_error_trace_attributes into validator directory

* Move validate_error_trace_collector_json into validator directory

* Move validate_error_event_collector_json into validator directory

* Move validate_transaction_event_collector_json into validator directory

* Move validate_custom_event_collector_json into validator directory

* Move validate_tt_parameters into validator directory

* Move validate_tt_parameters into validator directory

* Move validate_tt_segment_params into validator directory

* Move validate_browser_attributes into validators directory

* Move validate_error_event_attributes into validators directory

* Move validate_error_trace_attributes_outside_transaction into validators directory

* Move validate_error_event_attributes_outside_transaction into validators directory

* Fix some pylint errors

* Redirect check_error_attributes

* Fix more Pylint errors

* Fix import issues from move

* Fix more import shuffle errors

* Sort logging JSON test for PY2 consistency

* Fix Pylint errors in validators

* Fix import error

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix set output warning using new GHA syntax (#833)

* Fix set output warning using new GHA syntax

* Fix quoting

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Instrument Redis waitaof (#851)

* Add uninstrumented command to redis

* Update logic for datastore_aioredis instance info

* [Mega-Linter] Apply linters fixes

* Bump tests

* Update defaults for aioredis port

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Ignore patched hooks files. (#849)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix local scoped package reporting (#837)

* Include isort stdlibs for determining stdlib modules

* Use isort & sys to eliminate std & builtin modules

Previously, the logic would fail to identify third party modules installed within the
local user socpe. This fixes that issue by skipping builtin and stdlib modules by name,
instead of attempting to identify third party modules based on file paths.

* Handle importlib_metadata.version being a callable

* Add isort into third party notices

* [Mega-Linter] Apply linters fixes

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Trigger tests

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* MSSQL Testing (#852)

* For mysql tests into mssql

* Add tox envs for mssql

* Add mssql DB settings

* Add correct MSSQL tests

* Add mssql to GHA

* Add MSSQL libs to CI image

* Pin to dev CI image sha

* Swap SQLServer container image

* Fix healthcheck

* Put MSSQL image back

* Drop pypy37 tests

* Unpin dev image sha

* Exclude command line functionality from test coverage (#855)

* FIX: resilient environment settings (#825)

if the application uses generalimport to manage optional depedencies,
it's possible that generalimport.MissingOptionalDependency is raised.
In this case, we should not report the module as it is not actually loaded and
is not a runtime dependency of the application.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Replace drop_transaction logic by using transaction context manager (#832)

* Replace drop_transaction call

* [Mega-Linter] Apply linters fixes

* Empty commit to start tests

* Change logic in BG Wrappers

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Upgrade to Pypy38 for TypedDict (#861)

* Fix base branch

* Revert tox dependencies

* Replace all pypy37 with pypy38

* Remove action.yml file

* Push Empty Commit

* Fix skip_missing_interpreters behavior

* Fix skip_missing_interpreters behavior

* Pin dev CI image sha

* Remove unsupported Tornado tests

* Add latest tests to Tornado

* Remove pypy38 (for now)

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Add profile_trace testing (#858)

* Include isort stdlibs for determining stdlib modules

* Use isort & sys to eliminate std & builtin modules

Previously, the logic would fail to identify third party modules installed within the
local user socpe. This fixes that issue by skipping builtin and stdlib modules by name,
instead of attempting to identify third party modules based on file paths.

* Handle importlib_metadata.version being a callable

* Add isort into third party notices

* [Mega-Linter] Apply linters fixes

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Trigger tests

* Add testing for profile trace.

* [Mega-Linter] Apply linters fixes

* Ignore __call__ from coverage on profile_trace.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Add Transaction API Tests (#857)

* Test for suppress_apdex_metric

* Add custom_metrics tests

* Add distributed_trace_headers testing in existing tests

* [Mega-Linter] Apply linters fixes

* Remove redundant if-statement

* Ignore deprecated transaction function from coverage

* [Mega-Linter] Apply linters fixes

* Push empty commit

* Update newrelic/api/transaction.py

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add tests for jinja2. (#842)

* Add tests for jinja2.

* [Mega-Linter] Apply linters fixes

* Update tox.ini

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Add tests for newrelic/config.py (#860)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix starlette testing matrix for updated behavior. (#869)

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Correct Serverless Distributed Tracing Logic (#870)

* Fix serverless logic for distributed tracing

* Test stubs

* Collapse testing changes

* Add negative testing to regular DT test suite

* Apply linter fixes

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Kafka CI (#863)

* Reenable kafka testing

* Add kafka dev lib

* Sync install python with devcontainer

* Fix kafka local host setting

* Drop set -u flag

* Pin CI image dev sha

* Add parallel flag to kafka

* Fix proper exit status

* Build librdkafka from source

* Updated dev image sha

* Remove coverage exclusions

* Add new options to better emulate GHA

* Reconfigure kafka networking

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Fix kafka ports on GHA

* Run kafka tests serially

* Separate kafka consumer groups

* Put CI container makefile back

* Remove confluent kafka Py27 for latest

* Roll back ubuntu version update

* Update dev ci sha

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Change image tag to latest (#871)

* Change image tag to latest

* Use built sha

* Fixup

* Replace w/ latest

* Add full version for pypy3.8 to tox (#872)

* Add full version for pypy3.8

* Remove solrpy from tests

* Instrument RedisCluster (#809)

* Add instrumentation for RedisCluster

* Add tests for redis cluster

* Ignore Django instrumentation from older versions (#859)

* Ignore Django instrumentation from older versions

* Ignore Django instrumentation from older versions

* Fix text concatenation

* Update newrelic/hooks/framework_django.py

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Update newrelic/hooks/framework_django.py

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Modify postgresql tests to include WITH query (#885)

* Modify postgresql tests to include WITH

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Develop redis addons (#888)

* Added separate instrumentation for redis.asyncio.client (#808)

* Added separate instrumentation for redis.asyncio.client

Merge main branch updates

Add tests for newrelic/config.py (#860)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Modify redis tests

* removed redis.asyncio from aioredis instrumentation

removed aioredis instrumentation in redis asyncio client

removed redis.asyncio from aioredis instrumentation

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Redis asyncio testing (#881)

* Add/modify redis asyncio tests

* Change to psubscribe

* Tweak redis async tests/instrumentation

* [Mega-Linter] Apply linters fixes

* Push empty commit

* Exclude older instrumentation from coverage

* Resolve requested testing changes

* Tweak async pubsub test

* Fix pubsub test

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Remove aioredis and aredis from tox (#891)

* Remove aioredis and aredis from tox

* Add aredis and aioredis to coverage ignore

* Push empty commit

* Fix codecov ignore file

---------

Co-authored-by: Ahmed <ahmedhropewala@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Fix drift

* Fix ariadne middleware tests for all versions.

---------

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Kevin Morey <kevin@futurehaus.com>
Co-authored-by: Kate Anderson <90657569+kanderson250@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary-martinez@users.noreply.github.com>
Co-authored-by: Dmitry Kolyagin <dmitry.kolyagin@gmail.com>
Co-authored-by: mary-martinez <mmartinez@newrelic.com>
Co-authored-by: enriqueta <edeleon@newrelic.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Justin Richert <justin.richert@life.church>
Co-authored-by: Ahmed Helil <aaeabdo@gmail.com>
Co-authored-by: Ahmed <ahmedhropewala@gmail.com>

* Remove graphql 2 & promise support (#875)

* Update Versioning Scheme (#651)

* Update versioning scheme to 3 semver digits

* Fix version indexing

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>

* Remove version truncation

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Trace Finalizer Crashes (#652)

* Patch crashes in various traces with None settings

* Add tests for graphql trace types to unittests

* Add test to ensure traces don't crash in finalizer

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Add usage tracking metrics for Kafka clients. (#658)

* Add usage tracking metrics for Kafka clients.

* Fix double import lint error

* [Mega-Linter] Apply linters fixes

* Create version util file and add metrics to consumer.

* Address linting errors.

* Add missing semi-colon.

* [Mega-Linter] Apply linters fixes

* Bump tests.

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Deprecate add_custom_parameter(s) API (#655)

* Deprecate add_custom_parameter(s) API

* Fix unicode tests and some pylint errors

* Fix more pylint errors

* Revert "Fix more pylint errors"

This reverts commit 807ec1c5c40fe421300ccdcd6fedd81f288dce2c.

* Edit deprecation message in add_custom_parameters

* Add usage metrics for Daphne and Hypercorn. (#665)

* Add usage metrics for Daphne and Hypercorn.

* [Mega-Linter] Apply linters fixes

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Fix Flask view support in Code Level Metrics (#664)

* Fix Flask view support in Code Level Metrics

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* [Mega-Linter] Apply linters fixes

* Bump tests

* Fix CLM tests for flaskrest

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Fix aioredis version crash (#661)

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add double wrapped testing for Hypercorn and Daphne and dispatcher argument to WSGI API.  (#667)

* Add double wrapped app tests.

* Fix linting errors.

* [Mega-Linter] Apply linters fixes

* Add co-authors.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add Python 3.11 Support (#654)

* Add py311 tests

* Fix typo

* Added 3.11 support for aiohttp framework

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Set up environment to run Python 3.11

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Add Python 3.11 support for agent_features

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Partial Python 3.11 support added for Tornado

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Adjust postgres versions

* Fix tornado install path locally

* Remove aioredis py311 tests

* Update 3.11 to dev in tests

* Fix sanic instrumentation and imp/importlib deprecation

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Simplify wheel build options

* Update cibuildwheel for 3.11

* Remove falconmaster py311 test

Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Remove devcontainer submodule (#669)

* Uncomment NewRelicContextFormatter from agent.py (#676)

* Fix botocore tests for botocore v1.28.1+ (#675)

* Fix botocore tests for botocore v1.28.1+

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Fix boto3 tests for botocore v1.28.1+

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Fix boto3 tests for python 2.7

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Feature increased custom event limit (#674)

* Update reservoir size for custom events.

* [Mega-Linter] Apply linters fixes

* Increase custom event limit. (#666)

* Remove duplicated CUSTOM_EVENT_RESERVOIR_SIZE

Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add python 3.11 stable release to GHA (#671)

* Double kafka test runners (#677)

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix failing flask_rest tests (#683)

* Pin flask-restx in flask_rest tests for 2.7

flask-restx dropped support for 2.7 in 1.0.1.

* Drop support for flask-restplus

flask-restx replaced flask-restplus. flask-restplus's latest version supports 3.6 which
we don't even support anymore.

* Fix failing botocore tests (#684)

* Change queue url for botocore>=1.29.0

botocore >=1.29.0 uses sqs.us-east-1.amazonaws.com url instead of queue.amazonaws.com.

* Use tuple version instead of str

* Change botocore129->botocore128

* Add record_log_event to public api (#681)

* Add patch for sentry SDK to correct ASGI v2/v3 detection. (#680)

* Add patch for sentry to correct ASGI v2/v3 detection.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* [Mega-Linter] Apply linters fixes

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Update pip install command (#688)

* Validator transfer from fixtures.py to validators directory, Part 1 (#672)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move valid…
TimPansino added a commit that referenced this pull request Sep 14, 2023
* Exclude command line functionality from test coverage (#855)

* FIX: resilient environment settings (#825)

if the application uses generalimport to manage optional depedencies,
it's possible that generalimport.MissingOptionalDependency is raised.
In this case, we should not report the module as it is not actually loaded and
is not a runtime dependency of the application.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Replace drop_transaction logic by using transaction context manager (#832)

* Replace drop_transaction call

* [Mega-Linter] Apply linters fixes

* Empty commit to start tests

* Change logic in BG Wrappers

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Upgrade to Pypy38 for TypedDict (#861)

* Fix base branch

* Revert tox dependencies

* Replace all pypy37 with pypy38

* Remove action.yml file

* Push Empty Commit

* Fix skip_missing_interpreters behavior

* Fix skip_missing_interpreters behavior

* Pin dev CI image sha

* Remove unsupported Tornado tests

* Add latest tests to Tornado

* Remove pypy38 (for now)

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Add profile_trace testing (#858)

* Include isort stdlibs for determining stdlib modules

* Use isort & sys to eliminate std & builtin modules

Previously, the logic would fail to identify third party modules installed within the
local user socpe. This fixes that issue by skipping builtin and stdlib modules by name,
instead of attempting to identify third party modules based on file paths.

* Handle importlib_metadata.version being a callable

* Add isort into third party notices

* [Mega-Linter] Apply linters fixes

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Trigger tests

* Add testing for profile trace.

* [Mega-Linter] Apply linters fixes

* Ignore __call__ from coverage on profile_trace.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Add Transaction API Tests (#857)

* Test for suppress_apdex_metric

* Add custom_metrics tests

* Add distributed_trace_headers testing in existing tests

* [Mega-Linter] Apply linters fixes

* Remove redundant if-statement

* Ignore deprecated transaction function from coverage

* [Mega-Linter] Apply linters fixes

* Push empty commit

* Update newrelic/api/transaction.py

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add tests for jinja2. (#842)

* Add tests for jinja2.

* [Mega-Linter] Apply linters fixes

* Update tox.ini

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Add tests for newrelic/config.py (#860)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix starlette testing matrix for updated behavior. (#869)

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Correct Serverless Distributed Tracing Logic (#870)

* Fix serverless logic for distributed tracing

* Test stubs

* Collapse testing changes

* Add negative testing to regular DT test suite

* Apply linter fixes

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Kafka CI (#863)

* Reenable kafka testing

* Add kafka dev lib

* Sync install python with devcontainer

* Fix kafka local host setting

* Drop set -u flag

* Pin CI image dev sha

* Add parallel flag to kafka

* Fix proper exit status

* Build librdkafka from source

* Updated dev image sha

* Remove coverage exclusions

* Add new options to better emulate GHA

* Reconfigure kafka networking

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Fix kafka ports on GHA

* Run kafka tests serially

* Separate kafka consumer groups

* Put CI container makefile back

* Remove confluent kafka Py27 for latest

* Roll back ubuntu version update

* Update dev ci sha

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Change image tag to latest (#871)

* Change image tag to latest

* Use built sha

* Fixup

* Replace w/ latest

* Add full version for pypy3.8 to tox (#872)

* Add full version for pypy3.8

* Remove solrpy from tests

* Instrument RedisCluster (#809)

* Add instrumentation for RedisCluster

* Add tests for redis cluster

* Ignore Django instrumentation from older versions (#859)

* Ignore Django instrumentation from older versions

* Ignore Django instrumentation from older versions

* Fix text concatenation

* Update newrelic/hooks/framework_django.py

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Update newrelic/hooks/framework_django.py

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Modify postgresql tests to include WITH query (#885)

* Modify postgresql tests to include WITH

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Develop redis addons (#888)

* Added separate instrumentation for redis.asyncio.client (#808)

* Added separate instrumentation for redis.asyncio.client

Merge main branch updates

Add tests for newrelic/config.py (#860)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Modify redis tests

* removed redis.asyncio from aioredis instrumentation

removed aioredis instrumentation in redis asyncio client

removed redis.asyncio from aioredis instrumentation

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Redis asyncio testing (#881)

* Add/modify redis asyncio tests

* Change to psubscribe

* Tweak redis async tests/instrumentation

* [Mega-Linter] Apply linters fixes

* Push empty commit

* Exclude older instrumentation from coverage

* Resolve requested testing changes

* Tweak async pubsub test

* Fix pubsub test

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Remove aioredis and aredis from tox (#891)

* Remove aioredis and aredis from tox

* Add aredis and aioredis to coverage ignore

* Push empty commit

* Fix codecov ignore file

---------

Co-authored-by: Ahmed <ahmedhropewala@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Add google firestore instrumentation (#893)

* Add instrumentation for Google Firestore documents and collections (#876)

* Initial GCP firestore instrumentation commit.

* Add testing for documents and collections + test generators
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add co-authors.
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add co-authors.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Trim whitespace

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Firestore CI (#877)

* Add firestore CI runner

* Correct hook file name

* Setup emulator credentials

* Swap dependency to firestore alone

* Hacky setup for firestore

* Fix firestore hostname

* Ensure firestore connection

* Fix CI issues

* Refactor Firestore Hooks (#879)

* Remove unnecessary instrumentation

* Simplify existing instrumentation

* Remove unnecessary settings lookups

* Firestore Sync Client Instrumentation (#880)

* Remove unnecessary instrumentation

* Simplify existing instrumentation

* Remove unnecessary settings lookups

* Client instrumentation

* Add query and aggregation query instrumentation

* Fix deprecation warning

* Simplify collection lookup

* Combine query test files

* Rename methods for clarity

* Instrument Firestore batching

* Add transaction instrumentation

* Consumer iterators on <=Py38

* Allow better parallelization in firestore tests

* Clean out unnecessary code

* [Mega-Linter] Apply linters fixes

* Better parallelization safeguards

* Add collection group instrumentation

* [Mega-Linter] Apply linters fixes

* Change imports to native APIs

* Swap target functions to lambdas

* Convert exercise functions to fixtures

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Update datastore_trace wrapper to take instance info (#883)

* Update datastore trace wrapper to take instance info.

* [Mega-Linter] Apply linters fixes

* Make instance info args optional.

* [Mega-Linter] Apply linters fixes

* Add datastore trace testing.

* Add background task decorator.

* [Mega-Linter] Apply linters fixes

* Fix typo in validator.

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Async Generator Wrapper (#884)

* Add async generator wrapper

* Add no harm test

* Remove anext calls

* Add graphql traces to decorator testing

* Remove pypy generator gc logic

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Trace Async Wrapper Argument (#886)

* Add async_wrapper to datastore_trace api

* Add async wrapper argument to all trace APIs

* Add testing for automatic and manual asyncwrappers

* Firstore Async Instrumentation (#882)

* Remove unnecessary instrumentation

* Simplify existing instrumentation

* Remove unnecessary settings lookups

* Client instrumentation

* Add query and aggregation query instrumentation

* Fix deprecation warning

* Simplify collection lookup

* Combine query test files

* Rename methods for clarity

* Instrument Firestore batching

* Add transaction instrumentation

* Consumer iterators on <=Py38

* Add async generator wrapper

* Allow better parallelization in firestore tests

* Fix issue in async generator wrapper

* Add async client instrumentation

* Squashed commit of the following:

commit 9d411e00e37476be4ce0c40c7e64e71c4a09cfc6
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 15:57:39 2023 -0700

    Clean out unnecessary code

commit cb550bad9bb9e15edfdcef5dd361022448e0348f
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 14:27:01 2023 -0700

    Allow better parallelization in firestore tests

* Add async collection instrumentation

* Add async document instrumentation

* Async Query instrumentation

* Add async batch instrumentation

* Add instrumentation for AsyncTransaction

* Squashed commit of the following:

commit c836f8f377f9391af86452e81b59f834330b18fb
Author: TimPansino <TimPansino@users.noreply.github.com>
Date:   Thu Jul 27 19:54:35 2023 +0000

    [Mega-Linter] Apply linters fixes

commit 02a55a11017fd27b45f06ab719a33917cf185aac
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 12:46:46 2023 -0700

    Add collection group instrumentation

commit ab1f4ff5d2e88e6def42fa3c99c619f9673ce918
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 12:00:33 2023 -0700

    Better parallelization safeguards

commit fa5f39a2b037421cf017a062901c0ea1ec2b9723
Author: TimPansino <TimPansino@users.noreply.github.com>
Date:   Wed Jul 26 22:59:11 2023 +0000

    [Mega-Linter] Apply linters fixes

commit 9d411e00e37476be4ce0c40c7e64e71c4a09cfc6
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 15:57:39 2023 -0700

    Clean out unnecessary code

commit cb550bad9bb9e15edfdcef5dd361022448e0348f
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 14:27:01 2023 -0700

    Allow better parallelization in firestore tests

* Remove reset_firestore

* Re-merge of test_query

* Use public API imports

* Add async collection group instrumentation

* Refactor exercise functions to fixtures

* Squashed commit of the following:

commit 09c5e11498b4c200057190e859f8151241c421f3
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 14:33:24 2023 -0700

    Add testing for automatic and manual asyncwrappers

commit fc3ef6bfb8cb2f9cd6c8ffdf7bfd953be41cc974
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 14:33:05 2023 -0700

    Add async wrapper argument to all trace APIs

commit 479f9e236e2212e0f9cdf51627996068027acd82
Merge: faf3cccea edd1f94b0
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 13:44:24 2023 -0700

    Merge remote-tracking branch 'origin/develop-google-firestore-instrumentation' into feature-async-wrapper-argument

commit edd1f94b0f601a2674da4e594b777bae0eed6643
Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Date:   Wed Aug 2 13:40:51 2023 -0700

    Async Generator Wrapper (#884)

    * Add async generator wrapper

    * Add no harm test

    * Remove anext calls

    * Add graphql traces to decorator testing

    * Remove pypy generator gc logic

    ---------

    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit faf3ccceae127128aff81fc59d95dd3f49699a3c
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 31 15:10:56 2023 -0700

    Add async_wrapper to datastore_trace api

* Remove custom wrapper code from firestore

* Undo wrapper edits

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Firestore Instance Info (#887)

* Add instance info testing to query

* Instance info for query.stream

* Squashed commit of the following:

commit 1c426c84b2c8ee36c6a40bf6bbfcb862c90db1cf
Author: umaannamalai <umaannamalai@users.noreply.github.com>
Date:   Mon Jul 31 23:01:49 2023 +0000

    [Mega-Linter] Apply linters fixes

commit 7687c0695783fe40a86e705ec9790c19248f0c1e
Author: Uma Annamalai <uannamalai@newrelic.com>
Date:   Mon Jul 31 15:47:09 2023 -0700

    Make instance info args optional.

commit 53f8400ce0d0e8b53bfcaba4b54f898a63e3d68b
Author: umaannamalai <umaannamalai@users.noreply.github.com>
Date:   Mon Jul 31 22:23:20 2023 +0000

    [Mega-Linter] Apply linters fixes

commit d95d477cdfd54de4490211e3c4dd7de2504057f3
Author: Uma Annamalai <uannamalai@newrelic.com>
Date:   Mon Jul 31 15:20:41 2023 -0700

    Update datastore trace wrapper to take instance info.

* Add instance info testing to all apis

* Separate transaction instance info tests

* Implement all instance info getters

* Squashed commit of the following:

commit db3561e54f773730f269455ae323865b6230a613
Merge: 844e556ab edd1f94b0
Author: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Date:   Wed Aug 2 22:10:32 2023 +0000

    Merge branch 'develop-google-firestore-instrumentation' into feature-firstore-async-instrumentation

commit 844e556abfbca63573e51a2647141e07ce9e942f
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 15:09:49 2023 -0700

    Remove custom wrapper code from firestore

commit ad2999ff50b6b17b5774f69ca8116ee901f47474
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 14:58:38 2023 -0700

    Squashed commit of the following:

    commit 09c5e11498b4c200057190e859f8151241c421f3
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Aug 2 14:33:24 2023 -0700

        Add testing for automatic and manual asyncwrappers

    commit fc3ef6bfb8cb2f9cd6c8ffdf7bfd953be41cc974
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Aug 2 14:33:05 2023 -0700

        Add async wrapper argument to all trace APIs

    commit 479f9e236e2212e0f9cdf51627996068027acd82
    Merge: faf3cccea edd1f94b0
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Aug 2 13:44:24 2023 -0700

        Merge remote-tracking branch 'origin/develop-google-firestore-instrumentation' into feature-async-wrapper-argument

    commit edd1f94b0f601a2674da4e594b777bae0eed6643
    Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
    Date:   Wed Aug 2 13:40:51 2023 -0700

        Async Generator Wrapper (#884)

        * Add async generator wrapper

        * Add no harm test

        * Remove anext calls

        * Add graphql traces to decorator testing

        * Remove pypy generator gc logic

        ---------

        Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

    commit faf3ccceae127128aff81fc59d95dd3f49699a3c
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Mon Jul 31 15:10:56 2023 -0700

        Add async_wrapper to datastore_trace api

commit edd1f94b0f601a2674da4e594b777bae0eed6643
Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Date:   Wed Aug 2 13:40:51 2023 -0700

    Async Generator Wrapper (#884)

    * Add async generator wrapper

    * Add no harm test

    * Remove anext calls

    * Add graphql traces to decorator testing

    * Remove pypy generator gc logic

    ---------

    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit 29579fc2ecd8199b0227922425556d3279f17e57
Merge: 4a8a3fe04 7596fb40d
Author: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Date:   Wed Aug 2 19:54:09 2023 +0000

    Merge branch 'develop-google-firestore-instrumentation' into feature-firstore-async-instrumentation

commit 7596fb40dd739572a4224978173d61f5c9da9b3d
Author: Uma Annamalai <uannamalai@newrelic.com>
Date:   Wed Aug 2 12:53:29 2023 -0700

    Update datastore_trace wrapper to take instance info (#883)

    * Update datastore trace wrapper to take instance info.

    * [Mega-Linter] Apply linters fixes

    * Make instance info args optional.

    * [Mega-Linter] Apply linters fixes

    * Add datastore trace testing.

    * Add background task decorator.

    * [Mega-Linter] Apply linters fixes

    * Fix typo in validator.

    ---------

    Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

commit 4a8a3fe0486801ab88f7ddac05e89d96b6ae6fc0
Merge: 7bf6f4978 dcc92a914
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 31 14:51:20 2023 -0700

    Merge remote-tracking branch 'origin/develop-google-firestore-instrumentation' into feature-firstore-async-instrumentation

commit 7bf6f4978f058206c3cfb2b9c0efed963ca610ef
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 31 14:34:26 2023 -0700

    Refactor exercise functions to fixtures

commit d3e473204bb2d840d6a73ec1b5de897e11e193ee
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 13:20:37 2023 -0700

    Add async collection group instrumentation

commit 5902515202f7c7985b787bd00bb66b7f89699e19
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 13:09:13 2023 -0700

    Use public API imports

commit 9266924d8ef965852dec415973d7d9699031f011
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 13:04:19 2023 -0700

    Re-merge of test_query

commit b6bc9a47f28f2da29a8c5bf77dd37273c83a3757
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 13:01:27 2023 -0700

    Remove reset_firestore

commit 87fbe6203def1e583ff8fea58d4d6a0e70bfa606
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 13:00:37 2023 -0700

    Squashed commit of the following:

    commit c836f8f377f9391af86452e81b59f834330b18fb
    Author: TimPansino <TimPansino@users.noreply.github.com>
    Date:   Thu Jul 27 19:54:35 2023 +0000

        [Mega-Linter] Apply linters fixes

    commit 02a55a11017fd27b45f06ab719a33917cf185aac
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Thu Jul 27 12:46:46 2023 -0700

        Add collection group instrumentation

    commit ab1f4ff5d2e88e6def42fa3c99c619f9673ce918
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Thu Jul 27 12:00:33 2023 -0700

        Better parallelization safeguards

    commit fa5f39a2b037421cf017a062901c0ea1ec2b9723
    Author: TimPansino <TimPansino@users.noreply.github.com>
    Date:   Wed Jul 26 22:59:11 2023 +0000

        [Mega-Linter] Apply linters fixes

    commit 9d411e00e37476be4ce0c40c7e64e71c4a09cfc6
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Jul 26 15:57:39 2023 -0700

        Clean out unnecessary code

    commit cb550bad9bb9e15edfdcef5dd361022448e0348f
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Jul 26 14:27:01 2023 -0700

        Allow better parallelization in firestore tests

commit e04ec6f7959001558951bb0b716bf7c2f9062380
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 11:55:44 2023 -0700

    Add instrumentation for AsyncTransaction

commit 6b7fc79b2466bc729d07878193643f989f95bf04
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 16:56:04 2023 -0700

    Add async batch instrumentation

commit c392e78fba4cde9334dc7e1b40a7a6531e9b672c
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 16:36:03 2023 -0700

    Async Query instrumentation

commit aab244bcb45cc5cb6cb2be870a8182da95128582
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 16:20:58 2023 -0700

    Add async document instrumentation

commit 3fb6a6cd32c3a7fcfa1874aeb68e2cf3c23ea85c
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 16:11:17 2023 -0700

    Add async collection instrumentation

commit 7851baf92ece9d7aa85c0286b32aa8249d3b2191
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 15:58:12 2023 -0700

    Squashed commit of the following:

    commit 9d411e00e37476be4ce0c40c7e64e71c4a09cfc6
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Jul 26 15:57:39 2023 -0700

        Clean out unnecessary code

    commit cb550bad9bb9e15edfdcef5dd361022448e0348f
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Jul 26 14:27:01 2023 -0700

        Allow better parallelization in firestore tests

commit c49a1cf0b079c53f61192de589efa32044712b58
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 15:54:13 2023 -0700

    Add async client instrumentation

commit c857358cc89d064fa7dddb5a6a0f2069496db708
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 15:53:21 2023 -0700

    Fix issue in async generator wrapper

commit 5693dd2f3ca2c23bc170b1e2cd9ea87862d9d80f
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 14:27:01 2023 -0700

    Allow better parallelization in firestore tests

commit fbe40eaf4eb9da57fd6cb881328087fedc0dc2d9
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 14:22:53 2023 -0700

    Add async generator wrapper

commit b9a91e574a8e183249549f223bb4090226467f80
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 12:21:25 2023 -0700

    Consumer iterators on <=Py38

commit ef06df5dca7d6e6f0f7e96700544514b99e9c132
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 12:01:25 2023 -0700

    Add transaction instrumentation

commit 2ce45c85ebf0a6951884c675d6cad77486988b7b
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 15:55:50 2023 -0700

    Instrument Firestore batching

commit d17b62f720c98216fe5e80df13234ab84ccd9924
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 15:31:48 2023 -0700

    Rename methods for clarity

commit 6214f0bc5926b0b76acdf4bad612cc2710eeb3c7
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 15:30:23 2023 -0700

    Combine query test files

commit b4e87005d6b15c777563dc9ba1885612b384c61e
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 15:23:03 2023 -0700

    Simplify collection lookup

commit a0c78a22dbd4ac43d7ef0cb444614683ce76142b
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 15:18:51 2023 -0700

    Fix deprecation warning

commit 44598cc271e4a8d5d2962284894a9547372efdbe
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 15:15:13 2023 -0700

    Add query and aggregation query instrumentation

commit b9eaa5b35144be48243e6315b8c64ad599d6a4de
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 13:33:42 2023 -0700

    Client instrumentation

commit 19f5a48326b6aa51c1deb7e3acc2e5e6ba6ef749
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 24 15:55:52 2023 -0700

    Remove unnecessary settings lookups

commit ba7850a06a48005612e59b44c1a509d28f99f86d
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 24 15:44:54 2023 -0700

    Simplify existing instrumentation

commit e07ffc3efb351769614c67425f7352dc4217e6be
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 24 15:44:10 2023 -0700

    Remove unnecessary instrumentation

* Add instance info to async client

* Simplify lookup logic for instance info

* Precompute closures for memory usage

* Undo wrapper edits

* Fix typo

* Change port from int ot str

* Fix Generator Wrappers (#890)

* Fix async wrapper implementations

* Add regression testing

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Base Devcontainer on CI Image (#873)

* Base devcontainer on ci image

* Build arm image on main

* Fix syntax

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add support for redis v5. (#895)

* Instrumentat methods added in redis v5 release.

* Update metrics in redis tests.

* Use importlib.metadata first to avoid deprecation warnings (#878)

* Use importlib.metadata first to avoid deprecation warnings

* Use get distribution name of module before fetching its version

* Add support for Python versions < 3.9

* Fix conditional for packages_distributions

* Linter fixes

* Remove fixture in favor of test skips

---------

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Fix Normalization Rules (#894)

* Fix cross agent tests to run from anywhere

* Cover failures in rules engine with testing

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Patch metrics not being properly ignored

* Patch normalization rule init default arguments

* Clean up to match other fixture setups

---------

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix database instance metric bug (#905)

* Remove enable_datastore_instance_feature

This was added in 2016 when the database instance feature was first developed. It
appears to be a method of gating this feature internally within the agent at the time
that it was implemented. However, it is not needed now and database instrumentations
that don't call this are actually broken in that the metric that is used to create the
service map (namely `Datastore/instance/MySQL/<host>/<port>`) does not get created due
to not calling this enable feature function.

* Rename cross agent test

* Add Database/instance metric check

* Add check for both path and file (#907)

* Update structlog instrumentation. (#865)

* Add structlog instrumentation. (#685)

* Add initial structlog instrumentation.

* Cleanup.

* Add processor filtering and attribute testing.

* Add more filtering tests.

* Add co-authors.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>

* Remove pylint codes from flake8 config (#701)

* Create pytest fixtures and cleanup tests.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Updates to release structlog instrumentation.

* Update pypy testing versions.

* Update from pypy37 to pypy38 for structlog.

---------

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Merge main into MLops dev branch

* GraphQL Async Instrumentation Support (#908)

* Add GraphQL Server Sanic Instrumentation

* Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add co-authors

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Comment out Copyright notice message

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Finalize Sanic testing

* Fix flask framework details with callable

* Parametrized testing for graphql-server

* GraphQL Async Resolvers

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* GraphQL Proper Coro and Promise Support (#508)

* Fix GraphQL async issues

* Fix nonlocal binding issues in python 2

* Fix promises with async graphql

* Issues with promises

* Fix promises in graphql2

* Fixed all graphql async issues

* Fix Py27 quirks

* Update tox

* Fix importing paths of graphqlserver

* Fix broken import path

* Unpin pypy37

* Fix weird import issues

* Fix graphql impl coros (#522)

* Strawberry Async Updates (#521)

* Parameterize strawberry tests

* Remove duplicate functions

* Fix strawberry version testing

* Updates

* Finalize strawberry updates

* Clean out code

* Ariadne Async Testing (#523)

* Parameterize ariadne tests

* Fixing ariadne tests

* Fixing ariadne middleware

* Set 0 extra spans for graphql core tests

* Add spans attr to strawberry tests

* Graphene Async Testing (#524)

* Graphene Async Testing

* Fix missing extra spans numbers

* Graphene promise tests

* Fix py2 imports

* Removed unused __init__

* Update code level metrics validator for py2

* Unify graphql testing imports

* Fix ariadne imports

* Fix other imports

* Fix import issues

* Merge main into develop-graphql-async (#892)

* Update Versioning Scheme (#651)

* Update versioning scheme to 3 semver digits

* Fix version indexing

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>

* Remove version truncation

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Trace Finalizer Crashes (#652)

* Patch crashes in various traces with None settings

* Add tests for graphql trace types to unittests

* Add test to ensure traces don't crash in finalizer

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Add usage tracking metrics for Kafka clients. (#658)

* Add usage tracking metrics for Kafka clients.

* Fix double import lint error

* [Mega-Linter] Apply linters fixes

* Create version util file and add metrics to consumer.

* Address linting errors.

* Add missing semi-colon.

* [Mega-Linter] Apply linters fixes

* Bump tests.

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Deprecate add_custom_parameter(s) API (#655)

* Deprecate add_custom_parameter(s) API

* Fix unicode tests and some pylint errors

* Fix more pylint errors

* Revert "Fix more pylint errors"

This reverts commit 807ec1c5c40fe421300ccdcd6fedd81f288dce2c.

* Edit deprecation message in add_custom_parameters

* Add usage metrics for Daphne and Hypercorn. (#665)

* Add usage metrics for Daphne and Hypercorn.

* [Mega-Linter] Apply linters fixes

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Fix Flask view support in Code Level Metrics (#664)

* Fix Flask view support in Code Level Metrics

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* [Mega-Linter] Apply linters fixes

* Bump tests

* Fix CLM tests for flaskrest

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Fix aioredis version crash (#661)

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add double wrapped testing for Hypercorn and Daphne and dispatcher argument to WSGI API.  (#667)

* Add double wrapped app tests.

* Fix linting errors.

* [Mega-Linter] Apply linters fixes

* Add co-authors.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add Python 3.11 Support (#654)

* Add py311 tests

* Fix typo

* Added 3.11 support for aiohttp framework

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Set up environment to run Python 3.11

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Add Python 3.11 support for agent_features

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Partial Python 3.11 support added for Tornado

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Adjust postgres versions

* Fix tornado install path locally

* Remove aioredis py311 tests

* Update 3.11 to dev in tests

* Fix sanic instrumentation and imp/importlib deprecation

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Simplify wheel build options

* Update cibuildwheel for 3.11

* Remove falconmaster py311 test

Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Remove devcontainer submodule (#669)

* Uncomment NewRelicContextFormatter from agent.py (#676)

* Fix botocore tests for botocore v1.28.1+ (#675)

* Fix botocore tests for botocore v1.28.1+

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Fix boto3 tests for botocore v1.28.1+

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Fix boto3 tests for python 2.7

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Feature increased custom event limit (#674)

* Update reservoir size for custom events.

* [Mega-Linter] Apply linters fixes

* Increase custom event limit. (#666)

* Remove duplicated CUSTOM_EVENT_RESERVOIR_SIZE

Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add python 3.11 stable release to GHA (#671)

* Double kafka test runners (#677)

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix failing flask_rest tests (#683)

* Pin flask-restx in flask_rest tests for 2.7

flask-restx dropped support for 2.7 in 1.0.1.

* Drop support for flask-restplus

flask-restx replaced flask-restplus. flask-restplus's latest version supports 3.6 which
we don't even support anymore.

* Fix failing botocore tests (#684)

* Change queue url for botocore>=1.29.0

botocore >=1.29.0 uses sqs.us-east-1.amazonaws.com url instead of queue.amazonaws.com.

* Use tuple version instead of str

* Change botocore129->botocore128

* Add record_log_event to public api (#681)

* Add patch for sentry SDK to correct ASGI v2/v3 detection. (#680)

* Add patch for sentry to correct ASGI v2/v3 detection.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* [Mega-Linter] Apply linters fixes

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Update pip install command (#688)

* Validator transfer from fixtures.py to validators directory, Part 1 (#672)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Fix import issues

* Fix (more) import issues

* Fix validate_transaction_metrics import in aioredis

* Remove commented code from fixtures.py

* Initialize ExternalNode properties (#687)

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix package_version_utils.py logic (#689)

* Fix package_version_utils.py logic

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Move description of func into func itself

* typecast lists into tuples

* Remove breakpoints

* Empty _test_package_version_utils.py

* Make changes to the test

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Pin Github Actions Runner to Ubuntu 20 for Py27 (#698)

* Pin Github Actions runner to ubuntu 20 for Py27

* Upgrade setup-python

* Fix Confluent Kafka Producer Arguments (#699)

* Add confluentkafka test for posargs/kwargs

* Fix confluent kafka topic argument bug

* More sensible producer arguments

* Fix tornado master tests & instrument redis 4.3.5 (#695)

* Remove 3.7 testing of tornado master

tornadomaster dropped support for 3.7

* Instrument new redis 4.3.5 client methods

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Remove pylint codes from flake8 config (#701)

* Validator transfer from fixtures.py to validators directory, Part 2 (#690)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Move validate_application_error_trace_count into validators directory

* Move validate_application_error_event_count into validators directory

* Move validate_synthetics_transaction_trace into validators directory

* Move validate_tt_collector_json to validators directory

* Move validate_transaction_trace_attributes into validator directory

* Move validate_transaction_error_trace_attributes into validator directory

* Move validate_error_trace_collector_json into validator directory

* Move validate_error_event_collector_json into validator directory

* Move validate_transaction_event_collector_json into validator directory

* Fix import issues from merge

* Fix some pylint errors

* Revert 'raise ValueError' to be PY2 compatible

* Delete commented lines

* Fix bug in celery where works don't report data (#696)

This fixes Missing information from Celery workers when using MAX_TASKS_PER_CHILD
issue.

Previously, if celery was run with the --loglevel=INFO flag, an agent instance would be
created for the main celery process and after the first worker shutdown, all following
worker's agent instances would point to that agent instance instead of creating a new
instance. This was root caused to incorrectly creating an agent instance when
application activate was not set. Now no agent instance will be created for the main
celery process.

* Reverts removal of flask_restful hooks. (#705)

* Update instrumented methods in redis. (#707)

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Add TraceCache Guarded Iteration (#704)

* Add MutableMapping API to TraceCache

* Update trace cache usage to use guarded APIs.

* [Mega-Linter] Apply linters fixes

* Bump tests

* Fix keys iterator

* Comments for trace cache methods

* Reorganize tests

* Fix fixture refs

* Fix testing refs

* [Mega-Linter] Apply linters fixes

* Bump tests

* Upper case constant

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Fix Type Constructor Classes in Code Level Metrics (#708)

* Fix CLM exception catching

* Reorganize CLM Tests

* Add type constructor tests to CLM

* Fix line number

* Pin tox version

* Fix lambda tests in CLM

* Fix lint issues

* Turn helper func into pytest fixture

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix sanic and starlette tests (#734)

* Fix sanic tests

* Tweak test fix for sanic

* Remove test for v18.12 in sanic (no longer supported)

* Pin starlette latest to v0.23.1 (for now)

* Add comment in tox about pinned starlette version

* Add methods to instrument (#738)

* Add card to instrumented methods in Redis (#740)

* Add DevContainer (#711)

* Add devcontainer setup

* Add newrelic env vars to passenv

* Add default extensions

* Add devcontainer instructions to contributing docs

* Convert smart quotes in contributing docs.

* Apply proper RST formatting

* [Mega-Linter] Apply linters fixes

* Add GHCR to prerequisites

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Module classmethod fix (#662)

* Fix function_wrapper calls to module

* Fix wrapper in pika hook

* Revert elasticsearch instrumentation

* Revert some wrap_function_wrappers to orig

* Remove comments/breakpoints

* Fix hooks in elasticsearch

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Fix log decorating to be JSON compatible (#736)

* Initial addition of JSON capability

* Add NR-LINKING metadata JSON combatibility

* Remove breakpoint

* Hardcode local log decorating tests

* Tweak linking metatdata parsing/adding

* Revert "Fix log decorating to be JSON compatible" (#746)

* Revert "Fix log decorating to be JSON compatible (#736)"

This reverts commit 0db5fee1e5d44b0791dc517ac9f5d88d1240a340.

* [Mega-Linter] Apply linters fixes

* Trigger tests

Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>

* Add apdexPerfZone attribute to Transaction. (#753)

Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary-martinez@users.noreply.github.com>

Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary-martinez@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix tests in starlette v0.23.1 (#752)

* Fix tests in starlette v0.23.1

* Fix conditional tests

* Add comment to bg_task test

* Support `redis.asyncio` (#744)

* Support `redis.asyncio`

* Fix `flake8` issues

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Redis Asyncio Testing (#750)

* Add standardized method for package version tuples

* Adapt aioredis tests to redis.asyncio

* Standardize version tuple

* Refresh uninstrumented redis methods

* Fix aioredis version checking

* Remove aioredis version function

* CodeCov Integration (#710)

* Add aggregate coverage settings to tox.ini

* Refactor coverage fixture for GHA

* Send coverage data files

* Linter fixes

* Configure codecov report

* Yield cov handle from fixture

* Fix empty coverage fixture

* Specify artifact download dir

* Find coverage files with find command

* Add concurrency cancelling to github actions

* uncomment test deps

* Fix or symbol

* Fix concurrency groups

* Linter fixes

* Add comment for yield None in fixture

* [Mega-Linter] Apply linters fixes

* Bump Tests

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Mergify (#761)

* Add mergify config file

* Remove priority

* Clean up mergify rules

* Add non-draft requirement for merge

* Add merge method

* [Mega-Linter] Apply linters fixes

* Don't update draft PRs.

* Remove merge rules for develop branches

* Linting

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Elasticsearch v8 support (#741)

* Fix function_wrapper calls to module

* Fix wrapper in pika hook

* Revert elasticsearch instrumentation

* Revert some wrap_function_wrappers to orig

* Remove comments/breakpoints

* Fix hooks in elasticsearch

* Add new client methods from v8 and their hooks

* Add elasticsearch v8 to workflow and tox

* Fix indices for elasticsearch01

* Disable xpack security in elasticsearch v8.0

* Start to add try/except blocks in tests

* Add support for v8 transport

* add support for v8 connection

* Add tests-WIP

* Clean up most tests

* Clean up unused instrumentation

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Remove elastic search source code

* Elasticsearch v8 testing

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Scope ES fixture

* ES v8 only supports Python3.6+

* Refactor transport tests for v8

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>

* Remove extra comments

* Added perform_request_kwargs to test_transport

* Fix some linter issues

* Remove extra newline

* Group es v7 v8 process modules together

* Add auto signature detection & binding

* Use bind_arguments in ES

* Add test for wrapped function

* Add validator for datastore trace inputs

* Use common bind_arguments for PY3

* Fix tests in starlette v0.23.1 (#752)

* Fix tests in starlette v0.23.1

* Fix conditional tests

* Add comment to bg_task test

* Split below es 8 methods from es 8 methods

Note the previous tests in this file to check whether a method was instrumented, did not test anything because they were checking whether the list
of methods that we instrumented were instrumented instead of whether
there were uninstrumented methods on the es client that we missed.

Because we decided due to lack of reporting of bugs by our customers, to not support the buggy wrapping on previous es versions (below es8), we
only added tests to assert all methods were wrapped from es8+. We also
are only testing es8+ wrapping of methods since the previous versions
wrapping behavior may not have been correct due to the signature of the
methods changing without us detecting it due to lack of tests. Since our customers have not reported any issues, it seems not worth it at this time to go back and fix these bugs.

* Remove signature auto detection implementation

* Fixup: remove signature autodetection

* Fixup: cleanup

* Test method calls on all es versions

* Fixup: don't run some methods on es7

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: mary-martinez <mmartinez@newrelic.com>
Co-authored-by: enriqueta <edeleon@newrelic.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Update contributors workspace link in CONTRIBUTING.rst. (#760)

* Update link in CONTRIBUTING.rst.

* Update to RST syntax.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add Retry to Pip Install (#763)

* Add retry to pip install

* Fix retry backoff constant

* Fix script failures

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add aiohttp support for expected status codes (#735)

* Add aiohttp support for expected status codes

* Adjust naming convention

* Fix expected tests for new validator behavior

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Fix PyPy Priority Sampling Test (#766)

* Fix pypy priority sampling

* [Mega-Linter] Apply linters fixes

* Bump tests

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Config linter fixes (#768)

* Fix default value and lazy logging pylint

* Fix default value and lazy logging pylint

* Fix unnecessary 'else' in pylint

* Fix logging-not-lazy in pylint

* Fix redefined built-in error in Pylint

* Fix implicit string concatenation in Pylint

* Fix dict() to {} in Pylint

* Make sure eval is OK to use for Pylint

* Fix logging format string for Pylint

* Change list comprehension to generator expression

* [Mega-Linter] Apply linters fixes

* Rerun tests

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Sync tests w/ agents/cross_agent_tests/pull/150 (#770)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Infinite Tracing Batching & Compression (#762)

* Infinite Tracing Batching and Compression settings (#756)

* Add compression setting

* Add batching setting

* Infinite Tracing Compression (#758)

* Initial commit

* Add compression option in StreamingRPC

* Add compression default to tests

* Add test to confirm compression settings

* Remove commented out code

* Set compression settings from settings override

* Infinite Tracing Batching (#759)

* Initial infinite tracing batching implementation

* Add RecordSpanBatch method to mock grpc server

* Span batching settings and testing.

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add final 8t batching tests

* Rename serialization test

* Formatting

* Guard unittests from failing due to batching

* Linting

* Simplify batching algorithm

* Properly wire batching parametrization

* Fix incorrect validator use

* Data loss on reconnect regression testing

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Test stream buffer batch sizes

* Fix logic in supportability metrics for spans

* Clean up nested conditionals in stream buffer

* Compression parametrization in serialization test

* Formatting

* Update 8t test_no_delay_on_ok

* Update protobufs

* Remove unnecessary patching from test

* Fix waiting in supportability metric tests

* Add sleep to waiting in test

* Reorder sleep and condition check

* Mark no data loss xfail for py2.

* Fix conditional check

* Fix flake8 linter issues

---------

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Infinite Tracing Supportability Feature Toggle Metrics (#769)

* Add 8T feature toggle supportability metrics

* Remove supportability metrics when 8t is disabled.

* Formatting

---------

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix DT settings for txn feature tests (#771)

* Fix pyramid testing versions (#764)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix Ariadne Middleware Testing (#776)

* Fix ariadne middleware testing

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>

* [Mega-Linter] Apply linters fixes

* Bump tests

---------

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Exclude merged PRs from automatic mergify actions. (#774)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Refactor Code Coverage (#765)

* Reorder dependency of code coverage fixture

* Fix tests with coverage disabled

* Refactor code coverage fixture

* Clean out old coverage settings

* Fix missing code coverage fixture

* Fix pypy priority sampling

* Start coverage from pytest-cov for better tracking

* Refactor coverage config file

* Ripping out coverage fixtures

* Move tool config to bottom of tox.ini

* Disabling py27 warning

* Renaming env var

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add GraphQL Introspection Setting (#783)

* Add graphql introspection setting

* Sort settings object hierarchy

* Add test for introspection queries setting

* Expand introspection queries testing

* [Mega-Linter] Apply linters fixes

* Adjust introspection detection for graphql

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix instance info tests for redis. (#784)

* Fix instance info tests for redis.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Fix Redis Instance Info (#790)

* Fix failing redis test for new default behavior

* Revert "Fix instance info tests for redis. (#784)"

This reverts commit f7108e3c2a54ab02a1104f6c16bd5fd799b9fc7e.

* Guard GraphQL Settings Lookup (#787)

* Guard graphql settings lookup

* [Mega-Linter] Apply linters fixes

* Bump tests

* Update graphql settings test

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Errors Inbox Improvements (#791)

* Errors inbox attributes and tests (#778)

* Initial errors inbox commit

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add enduser.id field

* Move validate_error_trace_attributes into validators directory

* Add error callback attributes test

* Add tests for enduser.id & error.group.name

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Uncomment code_coverage

* Drop commented out line

---------

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Error Group Callback API (#785)

* Error group initial implementat…
TimPansino added a commit that referenced this pull request Sep 14, 2023
* Exclude command line functionality from test coverage (#855)

* FIX: resilient environment settings (#825)

if the application uses generalimport to manage optional depedencies,
it's possible that generalimport.MissingOptionalDependency is raised.
In this case, we should not report the module as it is not actually loaded and
is not a runtime dependency of the application.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Replace drop_transaction logic by using transaction context manager (#832)

* Replace drop_transaction call

* [Mega-Linter] Apply linters fixes

* Empty commit to start tests

* Change logic in BG Wrappers

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Upgrade to Pypy38 for TypedDict (#861)

* Fix base branch

* Revert tox dependencies

* Replace all pypy37 with pypy38

* Remove action.yml file

* Push Empty Commit

* Fix skip_missing_interpreters behavior

* Fix skip_missing_interpreters behavior

* Pin dev CI image sha

* Remove unsupported Tornado tests

* Add latest tests to Tornado

* Remove pypy38 (for now)

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Add profile_trace testing (#858)

* Include isort stdlibs for determining stdlib modules

* Use isort & sys to eliminate std & builtin modules

Previously, the logic would fail to identify third party modules installed within the
local user socpe. This fixes that issue by skipping builtin and stdlib modules by name,
instead of attempting to identify third party modules based on file paths.

* Handle importlib_metadata.version being a callable

* Add isort into third party notices

* [Mega-Linter] Apply linters fixes

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Trigger tests

* Add testing for profile trace.

* [Mega-Linter] Apply linters fixes

* Ignore __call__ from coverage on profile_trace.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Add Transaction API Tests (#857)

* Test for suppress_apdex_metric

* Add custom_metrics tests

* Add distributed_trace_headers testing in existing tests

* [Mega-Linter] Apply linters fixes

* Remove redundant if-statement

* Ignore deprecated transaction function from coverage

* [Mega-Linter] Apply linters fixes

* Push empty commit

* Update newrelic/api/transaction.py

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add tests for jinja2. (#842)

* Add tests for jinja2.

* [Mega-Linter] Apply linters fixes

* Update tox.ini

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Add tests for newrelic/config.py (#860)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix starlette testing matrix for updated behavior. (#869)

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Correct Serverless Distributed Tracing Logic (#870)

* Fix serverless logic for distributed tracing

* Test stubs

* Collapse testing changes

* Add negative testing to regular DT test suite

* Apply linter fixes

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Kafka CI (#863)

* Reenable kafka testing

* Add kafka dev lib

* Sync install python with devcontainer

* Fix kafka local host setting

* Drop set -u flag

* Pin CI image dev sha

* Add parallel flag to kafka

* Fix proper exit status

* Build librdkafka from source

* Updated dev image sha

* Remove coverage exclusions

* Add new options to better emulate GHA

* Reconfigure kafka networking

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Fix kafka ports on GHA

* Run kafka tests serially

* Separate kafka consumer groups

* Put CI container makefile back

* Remove confluent kafka Py27 for latest

* Roll back ubuntu version update

* Update dev ci sha

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Change image tag to latest (#871)

* Change image tag to latest

* Use built sha

* Fixup

* Replace w/ latest

* Add full version for pypy3.8 to tox (#872)

* Add full version for pypy3.8

* Remove solrpy from tests

* Instrument RedisCluster (#809)

* Add instrumentation for RedisCluster

* Add tests for redis cluster

* Ignore Django instrumentation from older versions (#859)

* Ignore Django instrumentation from older versions

* Ignore Django instrumentation from older versions

* Fix text concatenation

* Update newrelic/hooks/framework_django.py

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Update newrelic/hooks/framework_django.py

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Modify postgresql tests to include WITH query (#885)

* Modify postgresql tests to include WITH

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Develop redis addons (#888)

* Added separate instrumentation for redis.asyncio.client (#808)

* Added separate instrumentation for redis.asyncio.client

Merge main branch updates

Add tests for newrelic/config.py (#860)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Modify redis tests

* removed redis.asyncio from aioredis instrumentation

removed aioredis instrumentation in redis asyncio client

removed redis.asyncio from aioredis instrumentation

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Redis asyncio testing (#881)

* Add/modify redis asyncio tests

* Change to psubscribe

* Tweak redis async tests/instrumentation

* [Mega-Linter] Apply linters fixes

* Push empty commit

* Exclude older instrumentation from coverage

* Resolve requested testing changes

* Tweak async pubsub test

* Fix pubsub test

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Remove aioredis and aredis from tox (#891)

* Remove aioredis and aredis from tox

* Add aredis and aioredis to coverage ignore

* Push empty commit

* Fix codecov ignore file

---------

Co-authored-by: Ahmed <ahmedhropewala@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Add google firestore instrumentation (#893)

* Add instrumentation for Google Firestore documents and collections (#876)

* Initial GCP firestore instrumentation commit.

* Add testing for documents and collections + test generators
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add co-authors.
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add co-authors.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Trim whitespace

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Firestore CI (#877)

* Add firestore CI runner

* Correct hook file name

* Setup emulator credentials

* Swap dependency to firestore alone

* Hacky setup for firestore

* Fix firestore hostname

* Ensure firestore connection

* Fix CI issues

* Refactor Firestore Hooks (#879)

* Remove unnecessary instrumentation

* Simplify existing instrumentation

* Remove unnecessary settings lookups

* Firestore Sync Client Instrumentation (#880)

* Remove unnecessary instrumentation

* Simplify existing instrumentation

* Remove unnecessary settings lookups

* Client instrumentation

* Add query and aggregation query instrumentation

* Fix deprecation warning

* Simplify collection lookup

* Combine query test files

* Rename methods for clarity

* Instrument Firestore batching

* Add transaction instrumentation

* Consumer iterators on <=Py38

* Allow better parallelization in firestore tests

* Clean out unnecessary code

* [Mega-Linter] Apply linters fixes

* Better parallelization safeguards

* Add collection group instrumentation

* [Mega-Linter] Apply linters fixes

* Change imports to native APIs

* Swap target functions to lambdas

* Convert exercise functions to fixtures

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Update datastore_trace wrapper to take instance info (#883)

* Update datastore trace wrapper to take instance info.

* [Mega-Linter] Apply linters fixes

* Make instance info args optional.

* [Mega-Linter] Apply linters fixes

* Add datastore trace testing.

* Add background task decorator.

* [Mega-Linter] Apply linters fixes

* Fix typo in validator.

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Async Generator Wrapper (#884)

* Add async generator wrapper

* Add no harm test

* Remove anext calls

* Add graphql traces to decorator testing

* Remove pypy generator gc logic

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Trace Async Wrapper Argument (#886)

* Add async_wrapper to datastore_trace api

* Add async wrapper argument to all trace APIs

* Add testing for automatic and manual asyncwrappers

* Firstore Async Instrumentation (#882)

* Remove unnecessary instrumentation

* Simplify existing instrumentation

* Remove unnecessary settings lookups

* Client instrumentation

* Add query and aggregation query instrumentation

* Fix deprecation warning

* Simplify collection lookup

* Combine query test files

* Rename methods for clarity

* Instrument Firestore batching

* Add transaction instrumentation

* Consumer iterators on <=Py38

* Add async generator wrapper

* Allow better parallelization in firestore tests

* Fix issue in async generator wrapper

* Add async client instrumentation

* Squashed commit of the following:

commit 9d411e00e37476be4ce0c40c7e64e71c4a09cfc6
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 15:57:39 2023 -0700

    Clean out unnecessary code

commit cb550bad9bb9e15edfdcef5dd361022448e0348f
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 14:27:01 2023 -0700

    Allow better parallelization in firestore tests

* Add async collection instrumentation

* Add async document instrumentation

* Async Query instrumentation

* Add async batch instrumentation

* Add instrumentation for AsyncTransaction

* Squashed commit of the following:

commit c836f8f377f9391af86452e81b59f834330b18fb
Author: TimPansino <TimPansino@users.noreply.github.com>
Date:   Thu Jul 27 19:54:35 2023 +0000

    [Mega-Linter] Apply linters fixes

commit 02a55a11017fd27b45f06ab719a33917cf185aac
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 12:46:46 2023 -0700

    Add collection group instrumentation

commit ab1f4ff5d2e88e6def42fa3c99c619f9673ce918
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 12:00:33 2023 -0700

    Better parallelization safeguards

commit fa5f39a2b037421cf017a062901c0ea1ec2b9723
Author: TimPansino <TimPansino@users.noreply.github.com>
Date:   Wed Jul 26 22:59:11 2023 +0000

    [Mega-Linter] Apply linters fixes

commit 9d411e00e37476be4ce0c40c7e64e71c4a09cfc6
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 15:57:39 2023 -0700

    Clean out unnecessary code

commit cb550bad9bb9e15edfdcef5dd361022448e0348f
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 14:27:01 2023 -0700

    Allow better parallelization in firestore tests

* Remove reset_firestore

* Re-merge of test_query

* Use public API imports

* Add async collection group instrumentation

* Refactor exercise functions to fixtures

* Squashed commit of the following:

commit 09c5e11498b4c200057190e859f8151241c421f3
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 14:33:24 2023 -0700

    Add testing for automatic and manual asyncwrappers

commit fc3ef6bfb8cb2f9cd6c8ffdf7bfd953be41cc974
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 14:33:05 2023 -0700

    Add async wrapper argument to all trace APIs

commit 479f9e236e2212e0f9cdf51627996068027acd82
Merge: faf3cccea edd1f94b0
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 13:44:24 2023 -0700

    Merge remote-tracking branch 'origin/develop-google-firestore-instrumentation' into feature-async-wrapper-argument

commit edd1f94b0f601a2674da4e594b777bae0eed6643
Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Date:   Wed Aug 2 13:40:51 2023 -0700

    Async Generator Wrapper (#884)

    * Add async generator wrapper

    * Add no harm test

    * Remove anext calls

    * Add graphql traces to decorator testing

    * Remove pypy generator gc logic

    ---------

    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit faf3ccceae127128aff81fc59d95dd3f49699a3c
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 31 15:10:56 2023 -0700

    Add async_wrapper to datastore_trace api

* Remove custom wrapper code from firestore

* Undo wrapper edits

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Firestore Instance Info (#887)

* Add instance info testing to query

* Instance info for query.stream

* Squashed commit of the following:

commit 1c426c84b2c8ee36c6a40bf6bbfcb862c90db1cf
Author: umaannamalai <umaannamalai@users.noreply.github.com>
Date:   Mon Jul 31 23:01:49 2023 +0000

    [Mega-Linter] Apply linters fixes

commit 7687c0695783fe40a86e705ec9790c19248f0c1e
Author: Uma Annamalai <uannamalai@newrelic.com>
Date:   Mon Jul 31 15:47:09 2023 -0700

    Make instance info args optional.

commit 53f8400ce0d0e8b53bfcaba4b54f898a63e3d68b
Author: umaannamalai <umaannamalai@users.noreply.github.com>
Date:   Mon Jul 31 22:23:20 2023 +0000

    [Mega-Linter] Apply linters fixes

commit d95d477cdfd54de4490211e3c4dd7de2504057f3
Author: Uma Annamalai <uannamalai@newrelic.com>
Date:   Mon Jul 31 15:20:41 2023 -0700

    Update datastore trace wrapper to take instance info.

* Add instance info testing to all apis

* Separate transaction instance info tests

* Implement all instance info getters

* Squashed commit of the following:

commit db3561e54f773730f269455ae323865b6230a613
Merge: 844e556ab edd1f94b0
Author: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Date:   Wed Aug 2 22:10:32 2023 +0000

    Merge branch 'develop-google-firestore-instrumentation' into feature-firstore-async-instrumentation

commit 844e556abfbca63573e51a2647141e07ce9e942f
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 15:09:49 2023 -0700

    Remove custom wrapper code from firestore

commit ad2999ff50b6b17b5774f69ca8116ee901f47474
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Aug 2 14:58:38 2023 -0700

    Squashed commit of the following:

    commit 09c5e11498b4c200057190e859f8151241c421f3
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Aug 2 14:33:24 2023 -0700

        Add testing for automatic and manual asyncwrappers

    commit fc3ef6bfb8cb2f9cd6c8ffdf7bfd953be41cc974
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Aug 2 14:33:05 2023 -0700

        Add async wrapper argument to all trace APIs

    commit 479f9e236e2212e0f9cdf51627996068027acd82
    Merge: faf3cccea edd1f94b0
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Aug 2 13:44:24 2023 -0700

        Merge remote-tracking branch 'origin/develop-google-firestore-instrumentation' into feature-async-wrapper-argument

    commit edd1f94b0f601a2674da4e594b777bae0eed6643
    Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
    Date:   Wed Aug 2 13:40:51 2023 -0700

        Async Generator Wrapper (#884)

        * Add async generator wrapper

        * Add no harm test

        * Remove anext calls

        * Add graphql traces to decorator testing

        * Remove pypy generator gc logic

        ---------

        Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

    commit faf3ccceae127128aff81fc59d95dd3f49699a3c
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Mon Jul 31 15:10:56 2023 -0700

        Add async_wrapper to datastore_trace api

commit edd1f94b0f601a2674da4e594b777bae0eed6643
Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Date:   Wed Aug 2 13:40:51 2023 -0700

    Async Generator Wrapper (#884)

    * Add async generator wrapper

    * Add no harm test

    * Remove anext calls

    * Add graphql traces to decorator testing

    * Remove pypy generator gc logic

    ---------

    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit 29579fc2ecd8199b0227922425556d3279f17e57
Merge: 4a8a3fe04 7596fb40d
Author: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Date:   Wed Aug 2 19:54:09 2023 +0000

    Merge branch 'develop-google-firestore-instrumentation' into feature-firstore-async-instrumentation

commit 7596fb40dd739572a4224978173d61f5c9da9b3d
Author: Uma Annamalai <uannamalai@newrelic.com>
Date:   Wed Aug 2 12:53:29 2023 -0700

    Update datastore_trace wrapper to take instance info (#883)

    * Update datastore trace wrapper to take instance info.

    * [Mega-Linter] Apply linters fixes

    * Make instance info args optional.

    * [Mega-Linter] Apply linters fixes

    * Add datastore trace testing.

    * Add background task decorator.

    * [Mega-Linter] Apply linters fixes

    * Fix typo in validator.

    ---------

    Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

commit 4a8a3fe0486801ab88f7ddac05e89d96b6ae6fc0
Merge: 7bf6f4978 dcc92a914
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 31 14:51:20 2023 -0700

    Merge remote-tracking branch 'origin/develop-google-firestore-instrumentation' into feature-firstore-async-instrumentation

commit 7bf6f4978f058206c3cfb2b9c0efed963ca610ef
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 31 14:34:26 2023 -0700

    Refactor exercise functions to fixtures

commit d3e473204bb2d840d6a73ec1b5de897e11e193ee
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 13:20:37 2023 -0700

    Add async collection group instrumentation

commit 5902515202f7c7985b787bd00bb66b7f89699e19
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 13:09:13 2023 -0700

    Use public API imports

commit 9266924d8ef965852dec415973d7d9699031f011
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 13:04:19 2023 -0700

    Re-merge of test_query

commit b6bc9a47f28f2da29a8c5bf77dd37273c83a3757
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 13:01:27 2023 -0700

    Remove reset_firestore

commit 87fbe6203def1e583ff8fea58d4d6a0e70bfa606
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 13:00:37 2023 -0700

    Squashed commit of the following:

    commit c836f8f377f9391af86452e81b59f834330b18fb
    Author: TimPansino <TimPansino@users.noreply.github.com>
    Date:   Thu Jul 27 19:54:35 2023 +0000

        [Mega-Linter] Apply linters fixes

    commit 02a55a11017fd27b45f06ab719a33917cf185aac
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Thu Jul 27 12:46:46 2023 -0700

        Add collection group instrumentation

    commit ab1f4ff5d2e88e6def42fa3c99c619f9673ce918
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Thu Jul 27 12:00:33 2023 -0700

        Better parallelization safeguards

    commit fa5f39a2b037421cf017a062901c0ea1ec2b9723
    Author: TimPansino <TimPansino@users.noreply.github.com>
    Date:   Wed Jul 26 22:59:11 2023 +0000

        [Mega-Linter] Apply linters fixes

    commit 9d411e00e37476be4ce0c40c7e64e71c4a09cfc6
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Jul 26 15:57:39 2023 -0700

        Clean out unnecessary code

    commit cb550bad9bb9e15edfdcef5dd361022448e0348f
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Jul 26 14:27:01 2023 -0700

        Allow better parallelization in firestore tests

commit e04ec6f7959001558951bb0b716bf7c2f9062380
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jul 27 11:55:44 2023 -0700

    Add instrumentation for AsyncTransaction

commit 6b7fc79b2466bc729d07878193643f989f95bf04
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 16:56:04 2023 -0700

    Add async batch instrumentation

commit c392e78fba4cde9334dc7e1b40a7a6531e9b672c
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 16:36:03 2023 -0700

    Async Query instrumentation

commit aab244bcb45cc5cb6cb2be870a8182da95128582
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 16:20:58 2023 -0700

    Add async document instrumentation

commit 3fb6a6cd32c3a7fcfa1874aeb68e2cf3c23ea85c
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 16:11:17 2023 -0700

    Add async collection instrumentation

commit 7851baf92ece9d7aa85c0286b32aa8249d3b2191
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 15:58:12 2023 -0700

    Squashed commit of the following:

    commit 9d411e00e37476be4ce0c40c7e64e71c4a09cfc6
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Jul 26 15:57:39 2023 -0700

        Clean out unnecessary code

    commit cb550bad9bb9e15edfdcef5dd361022448e0348f
    Author: Tim Pansino <timpansino@gmail.com>
    Date:   Wed Jul 26 14:27:01 2023 -0700

        Allow better parallelization in firestore tests

commit c49a1cf0b079c53f61192de589efa32044712b58
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 15:54:13 2023 -0700

    Add async client instrumentation

commit c857358cc89d064fa7dddb5a6a0f2069496db708
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 15:53:21 2023 -0700

    Fix issue in async generator wrapper

commit 5693dd2f3ca2c23bc170b1e2cd9ea87862d9d80f
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 14:27:01 2023 -0700

    Allow better parallelization in firestore tests

commit fbe40eaf4eb9da57fd6cb881328087fedc0dc2d9
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 14:22:53 2023 -0700

    Add async generator wrapper

commit b9a91e574a8e183249549f223bb4090226467f80
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 12:21:25 2023 -0700

    Consumer iterators on <=Py38

commit ef06df5dca7d6e6f0f7e96700544514b99e9c132
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed Jul 26 12:01:25 2023 -0700

    Add transaction instrumentation

commit 2ce45c85ebf0a6951884c675d6cad77486988b7b
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 15:55:50 2023 -0700

    Instrument Firestore batching

commit d17b62f720c98216fe5e80df13234ab84ccd9924
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 15:31:48 2023 -0700

    Rename methods for clarity

commit 6214f0bc5926b0b76acdf4bad612cc2710eeb3c7
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 15:30:23 2023 -0700

    Combine query test files

commit b4e87005d6b15c777563dc9ba1885612b384c61e
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 15:23:03 2023 -0700

    Simplify collection lookup

commit a0c78a22dbd4ac43d7ef0cb444614683ce76142b
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 15:18:51 2023 -0700

    Fix deprecation warning

commit 44598cc271e4a8d5d2962284894a9547372efdbe
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 15:15:13 2023 -0700

    Add query and aggregation query instrumentation

commit b9eaa5b35144be48243e6315b8c64ad599d6a4de
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jul 25 13:33:42 2023 -0700

    Client instrumentation

commit 19f5a48326b6aa51c1deb7e3acc2e5e6ba6ef749
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 24 15:55:52 2023 -0700

    Remove unnecessary settings lookups

commit ba7850a06a48005612e59b44c1a509d28f99f86d
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 24 15:44:54 2023 -0700

    Simplify existing instrumentation

commit e07ffc3efb351769614c67425f7352dc4217e6be
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon Jul 24 15:44:10 2023 -0700

    Remove unnecessary instrumentation

* Add instance info to async client

* Simplify lookup logic for instance info

* Precompute closures for memory usage

* Undo wrapper edits

* Fix typo

* Change port from int ot str

* Fix Generator Wrappers (#890)

* Fix async wrapper implementations

* Add regression testing

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Base Devcontainer on CI Image (#873)

* Base devcontainer on ci image

* Build arm image on main

* Fix syntax

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add support for redis v5. (#895)

* Instrumentat methods added in redis v5 release.

* Update metrics in redis tests.

* Use importlib.metadata first to avoid deprecation warnings (#878)

* Use importlib.metadata first to avoid deprecation warnings

* Use get distribution name of module before fetching its version

* Add support for Python versions < 3.9

* Fix conditional for packages_distributions

* Linter fixes

* Remove fixture in favor of test skips

---------

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Fix Normalization Rules (#894)

* Fix cross agent tests to run from anywhere

* Cover failures in rules engine with testing

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Patch metrics not being properly ignored

* Patch normalization rule init default arguments

* Clean up to match other fixture setups

---------

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix database instance metric bug (#905)

* Remove enable_datastore_instance_feature

This was added in 2016 when the database instance feature was first developed. It
appears to be a method of gating this feature internally within the agent at the time
that it was implemented. However, it is not needed now and database instrumentations
that don't call this are actually broken in that the metric that is used to create the
service map (namely `Datastore/instance/MySQL/<host>/<port>`) does not get created due
to not calling this enable feature function.

* Rename cross agent test

* Add Database/instance metric check

* Add check for both path and file (#907)

* Update structlog instrumentation. (#865)

* Add structlog instrumentation. (#685)

* Add initial structlog instrumentation.

* Cleanup.

* Add processor filtering and attribute testing.

* Add more filtering tests.

* Add co-authors.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>

* Remove pylint codes from flake8 config (#701)

* Create pytest fixtures and cleanup tests.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Updates to release structlog instrumentation.

* Update pypy testing versions.

* Update from pypy37 to pypy38 for structlog.

---------

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* GraphQL Async Instrumentation Support (#908)

* Add GraphQL Server Sanic Instrumentation

* Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add co-authors

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Comment out Copyright notice message

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Finalize Sanic testing

* Fix flask framework details with callable

* Parametrized testing for graphql-server

* GraphQL Async Resolvers

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* GraphQL Proper Coro and Promise Support (#508)

* Fix GraphQL async issues

* Fix nonlocal binding issues in python 2

* Fix promises with async graphql

* Issues with promises

* Fix promises in graphql2

* Fixed all graphql async issues

* Fix Py27 quirks

* Update tox

* Fix importing paths of graphqlserver

* Fix broken import path

* Unpin pypy37

* Fix weird import issues

* Fix graphql impl coros (#522)

* Strawberry Async Updates (#521)

* Parameterize strawberry tests

* Remove duplicate functions

* Fix strawberry version testing

* Updates

* Finalize strawberry updates

* Clean out code

* Ariadne Async Testing (#523)

* Parameterize ariadne tests

* Fixing ariadne tests

* Fixing ariadne middleware

* Set 0 extra spans for graphql core tests

* Add spans attr to strawberry tests

* Graphene Async Testing (#524)

* Graphene Async Testing

* Fix missing extra spans numbers

* Graphene promise tests

* Fix py2 imports

* Removed unused __init__

* Update code level metrics validator for py2

* Unify graphql testing imports

* Fix ariadne imports

* Fix other imports

* Fix import issues

* Merge main into develop-graphql-async (#892)

* Update Versioning Scheme (#651)

* Update versioning scheme to 3 semver digits

* Fix version indexing

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>

* Remove version truncation

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Trace Finalizer Crashes (#652)

* Patch crashes in various traces with None settings

* Add tests for graphql trace types to unittests

* Add test to ensure traces don't crash in finalizer

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Add usage tracking metrics for Kafka clients. (#658)

* Add usage tracking metrics for Kafka clients.

* Fix double import lint error

* [Mega-Linter] Apply linters fixes

* Create version util file and add metrics to consumer.

* Address linting errors.

* Add missing semi-colon.

* [Mega-Linter] Apply linters fixes

* Bump tests.

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Deprecate add_custom_parameter(s) API (#655)

* Deprecate add_custom_parameter(s) API

* Fix unicode tests and some pylint errors

* Fix more pylint errors

* Revert "Fix more pylint errors"

This reverts commit 807ec1c5c40fe421300ccdcd6fedd81f288dce2c.

* Edit deprecation message in add_custom_parameters

* Add usage metrics for Daphne and Hypercorn. (#665)

* Add usage metrics for Daphne and Hypercorn.

* [Mega-Linter] Apply linters fixes

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Fix Flask view support in Code Level Metrics (#664)

* Fix Flask view support in Code Level Metrics

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* [Mega-Linter] Apply linters fixes

* Bump tests

* Fix CLM tests for flaskrest

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Fix aioredis version crash (#661)

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add double wrapped testing for Hypercorn and Daphne and dispatcher argument to WSGI API.  (#667)

* Add double wrapped app tests.

* Fix linting errors.

* [Mega-Linter] Apply linters fixes

* Add co-authors.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add Python 3.11 Support (#654)

* Add py311 tests

* Fix typo

* Added 3.11 support for aiohttp framework

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Set up environment to run Python 3.11

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Add Python 3.11 support for agent_features

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Partial Python 3.11 support added for Tornado

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Adjust postgres versions

* Fix tornado install path locally

* Remove aioredis py311 tests

* Update 3.11 to dev in tests

* Fix sanic instrumentation and imp/importlib deprecation

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Simplify wheel build options

* Update cibuildwheel for 3.11

* Remove falconmaster py311 test

Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Remove devcontainer submodule (#669)

* Uncomment NewRelicContextFormatter from agent.py (#676)

* Fix botocore tests for botocore v1.28.1+ (#675)

* Fix botocore tests for botocore v1.28.1+

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Fix boto3 tests for botocore v1.28.1+

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Fix boto3 tests for python 2.7

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Feature increased custom event limit (#674)

* Update reservoir size for custom events.

* [Mega-Linter] Apply linters fixes

* Increase custom event limit. (#666)

* Remove duplicated CUSTOM_EVENT_RESERVOIR_SIZE

Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add python 3.11 stable release to GHA (#671)

* Double kafka test runners (#677)

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix failing flask_rest tests (#683)

* Pin flask-restx in flask_rest tests for 2.7

flask-restx dropped support for 2.7 in 1.0.1.

* Drop support for flask-restplus

flask-restx replaced flask-restplus. flask-restplus's latest version supports 3.6 which
we don't even support anymore.

* Fix failing botocore tests (#684)

* Change queue url for botocore>=1.29.0

botocore >=1.29.0 uses sqs.us-east-1.amazonaws.com url instead of queue.amazonaws.com.

* Use tuple version instead of str

* Change botocore129->botocore128

* Add record_log_event to public api (#681)

* Add patch for sentry SDK to correct ASGI v2/v3 detection. (#680)

* Add patch for sentry to correct ASGI v2/v3 detection.

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* [Mega-Linter] Apply linters fixes

Co-authored-by: Tim Pansino <tpansino@newrelic.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Update pip install command (#688)

* Validator transfer from fixtures.py to validators directory, Part 1 (#672)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Fix import issues

* Fix (more) import issues

* Fix validate_transaction_metrics import in aioredis

* Remove commented code from fixtures.py

* Initialize ExternalNode properties (#687)

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix package_version_utils.py logic (#689)

* Fix package_version_utils.py logic

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Move description of func into func itself

* typecast lists into tuples

* Remove breakpoints

* Empty _test_package_version_utils.py

* Make changes to the test

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Pin Github Actions Runner to Ubuntu 20 for Py27 (#698)

* Pin Github Actions runner to ubuntu 20 for Py27

* Upgrade setup-python

* Fix Confluent Kafka Producer Arguments (#699)

* Add confluentkafka test for posargs/kwargs

* Fix confluent kafka topic argument bug

* More sensible producer arguments

* Fix tornado master tests & instrument redis 4.3.5 (#695)

* Remove 3.7 testing of tornado master

tornadomaster dropped support for 3.7

* Instrument new redis 4.3.5 client methods

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Remove pylint codes from flake8 config (#701)

* Validator transfer from fixtures.py to validators directory, Part 2 (#690)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Move validate_application_error_trace_count into validators directory

* Move validate_application_error_event_count into validators directory

* Move validate_synthetics_transaction_trace into validators directory

* Move validate_tt_collector_json to validators directory

* Move validate_transaction_trace_attributes into validator directory

* Move validate_transaction_error_trace_attributes into validator directory

* Move validate_error_trace_collector_json into validator directory

* Move validate_error_event_collector_json into validator directory

* Move validate_transaction_event_collector_json into validator directory

* Fix import issues from merge

* Fix some pylint errors

* Revert 'raise ValueError' to be PY2 compatible

* Delete commented lines

* Fix bug in celery where works don't report data (#696)

This fixes Missing information from Celery workers when using MAX_TASKS_PER_CHILD
issue.

Previously, if celery was run with the --loglevel=INFO flag, an agent instance would be
created for the main celery process and after the first worker shutdown, all following
worker's agent instances would point to that agent instance instead of creating a new
instance. This was root caused to incorrectly creating an agent instance when
application activate was not set. Now no agent instance will be created for the main
celery process.

* Reverts removal of flask_restful hooks. (#705)

* Update instrumented methods in redis. (#707)

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Add TraceCache Guarded Iteration (#704)

* Add MutableMapping API to TraceCache

* Update trace cache usage to use guarded APIs.

* [Mega-Linter] Apply linters fixes

* Bump tests

* Fix keys iterator

* Comments for trace cache methods

* Reorganize tests

* Fix fixture refs

* Fix testing refs

* [Mega-Linter] Apply linters fixes

* Bump tests

* Upper case constant

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>

* Fix Type Constructor Classes in Code Level Metrics (#708)

* Fix CLM exception catching

* Reorganize CLM Tests

* Add type constructor tests to CLM

* Fix line number

* Pin tox version

* Fix lambda tests in CLM

* Fix lint issues

* Turn helper func into pytest fixture

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix sanic and starlette tests (#734)

* Fix sanic tests

* Tweak test fix for sanic

* Remove test for v18.12 in sanic (no longer supported)

* Pin starlette latest to v0.23.1 (for now)

* Add comment in tox about pinned starlette version

* Add methods to instrument (#738)

* Add card to instrumented methods in Redis (#740)

* Add DevContainer (#711)

* Add devcontainer setup

* Add newrelic env vars to passenv

* Add default extensions

* Add devcontainer instructions to contributing docs

* Convert smart quotes in contributing docs.

* Apply proper RST formatting

* [Mega-Linter] Apply linters fixes

* Add GHCR to prerequisites

* [Mega-Linter] Apply linters fixes

* Bump tests

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Module classmethod fix (#662)

* Fix function_wrapper calls to module

* Fix wrapper in pika hook

* Revert elasticsearch instrumentation

* Revert some wrap_function_wrappers to orig

* Remove comments/breakpoints

* Fix hooks in elasticsearch

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Fix log decorating to be JSON compatible (#736)

* Initial addition of JSON capability

* Add NR-LINKING metadata JSON combatibility

* Remove breakpoint

* Hardcode local log decorating tests

* Tweak linking metatdata parsing/adding

* Revert "Fix log decorating to be JSON compatible" (#746)

* Revert "Fix log decorating to be JSON compatible (#736)"

This reverts commit 0db5fee1e5d44b0791dc517ac9f5d88d1240a340.

* [Mega-Linter] Apply linters fixes

* Trigger tests

Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>

* Add apdexPerfZone attribute to Transaction. (#753)

Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary-martinez@users.noreply.github.com>

Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary-martinez@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix tests in starlette v0.23.1 (#752)

* Fix tests in starlette v0.23.1

* Fix conditional tests

* Add comment to bg_task test

* Support `redis.asyncio` (#744)

* Support `redis.asyncio`

* Fix `flake8` issues

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Redis Asyncio Testing (#750)

* Add standardized method for package version tuples

* Adapt aioredis tests to redis.asyncio

* Standardize version tuple

* Refresh uninstrumented redis methods

* Fix aioredis version checking

* Remove aioredis version function

* CodeCov Integration (#710)

* Add aggregate coverage settings to tox.ini

* Refactor coverage fixture for GHA

* Send coverage data files

* Linter fixes

* Configure codecov report

* Yield cov handle from fixture

* Fix empty coverage fixture

* Specify artifact download dir

* Find coverage files with find command

* Add concurrency cancelling to github actions

* uncomment test deps

* Fix or symbol

* Fix concurrency groups

* Linter fixes

* Add comment for yield None in fixture

* [Mega-Linter] Apply linters fixes

* Bump Tests

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Mergify (#761)

* Add mergify config file

* Remove priority

* Clean up mergify rules

* Add non-draft requirement for merge

* Add merge method

* [Mega-Linter] Apply linters fixes

* Don't update draft PRs.

* Remove merge rules for develop branches

* Linting

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Elasticsearch v8 support (#741)

* Fix function_wrapper calls to module

* Fix wrapper in pika hook

* Revert elasticsearch instrumentation

* Revert some wrap_function_wrappers to orig

* Remove comments/breakpoints

* Fix hooks in elasticsearch

* Add new client methods from v8 and their hooks

* Add elasticsearch v8 to workflow and tox

* Fix indices for elasticsearch01

* Disable xpack security in elasticsearch v8.0

* Start to add try/except blocks in tests

* Add support for v8 transport

* add support for v8 connection

* Add tests-WIP

* Clean up most tests

* Clean up unused instrumentation

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Remove elastic search source code

* Elasticsearch v8 testing

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Scope ES fixture

* ES v8 only supports Python3.6+

* Refactor transport tests for v8

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>

* Remove extra comments

* Added perform_request_kwargs to test_transport

* Fix some linter issues

* Remove extra newline

* Group es v7 v8 process modules together

* Add auto signature detection & binding

* Use bind_arguments in ES

* Add test for wrapped function

* Add validator for datastore trace inputs

* Use common bind_arguments for PY3

* Fix tests in starlette v0.23.1 (#752)

* Fix tests in starlette v0.23.1

* Fix conditional tests

* Add comment to bg_task test

* Split below es 8 methods from es 8 methods

Note the previous tests in this file to check whether a method was instrumented, did not test anything because they were checking whether the list
of methods that we instrumented were instrumented instead of whether
there were uninstrumented methods on the es client that we missed.

Because we decided due to lack of reporting of bugs by our customers, to not support the buggy wrapping on previous es versions (below es8), we
only added tests to assert all methods were wrapped from es8+. We also
are only testing es8+ wrapping of methods since the previous versions
wrapping behavior may not have been correct due to the signature of the
methods changing without us detecting it due to lack of tests. Since our customers have not reported any issues, it seems not worth it at this time to go back and fix these bugs.

* Remove signature auto detection implementation

* Fixup: remove signature autodetection

* Fixup: cleanup

* Test method calls on all es versions

* Fixup: don't run some methods on es7

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: mary-martinez <mmartinez@newrelic.com>
Co-authored-by: enriqueta <edeleon@newrelic.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Enriqueta De Leon <deleonenriqueta@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Kate Anderson <kanderson250@users.noreply.github.com>
Co-authored-by: Mary Martinez <mary.diana.martinez@gmail.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Update contributors workspace link in CONTRIBUTING.rst. (#760)

* Update link in CONTRIBUTING.rst.

* Update to RST syntax.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add Retry to Pip Install (#763)

* Add retry to pip install

* Fix retry backoff constant

* Fix script failures

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add aiohttp support for expected status codes (#735)

* Add aiohttp support for expected status codes

* Adjust naming convention

* Fix expected tests for new validator behavior

---------

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Fix PyPy Priority Sampling Test (#766)

* Fix pypy priority sampling

* [Mega-Linter] Apply linters fixes

* Bump tests

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Config linter fixes (#768)

* Fix default value and lazy logging pylint

* Fix default value and lazy logging pylint

* Fix unnecessary 'else' in pylint

* Fix logging-not-lazy in pylint

* Fix redefined built-in error in Pylint

* Fix implicit string concatenation in Pylint

* Fix dict() to {} in Pylint

* Make sure eval is OK to use for Pylint

* Fix logging format string for Pylint

* Change list comprehension to generator expression

* [Mega-Linter] Apply linters fixes

* Rerun tests

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Sync tests w/ agents/cross_agent_tests/pull/150 (#770)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Infinite Tracing Batching & Compression (#762)

* Infinite Tracing Batching and Compression settings (#756)

* Add compression setting

* Add batching setting

* Infinite Tracing Compression (#758)

* Initial commit

* Add compression option in StreamingRPC

* Add compression default to tests

* Add test to confirm compression settings

* Remove commented out code

* Set compression settings from settings override

* Infinite Tracing Batching (#759)

* Initial infinite tracing batching implementation

* Add RecordSpanBatch method to mock grpc server

* Span batching settings and testing.

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add final 8t batching tests

* Rename serialization test

* Formatting

* Guard unittests from failing due to batching

* Linting

* Simplify batching algorithm

* Properly wire batching parametrization

* Fix incorrect validator use

* Data loss on reconnect regression testing

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Test stream buffer batch sizes

* Fix logic in supportability metrics for spans

* Clean up nested conditionals in stream buffer

* Compression parametrization in serialization test

* Formatting

* Update 8t test_no_delay_on_ok

* Update protobufs

* Remove unnecessary patching from test

* Fix waiting in supportability metric tests

* Add sleep to waiting in test

* Reorder sleep and condition check

* Mark no data loss xfail for py2.

* Fix conditional check

* Fix flake8 linter issues

---------

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Infinite Tracing Supportability Feature Toggle Metrics (#769)

* Add 8T feature toggle supportability metrics

* Remove supportability metrics when 8t is disabled.

* Formatting

---------

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix DT settings for txn feature tests (#771)

* Fix pyramid testing versions (#764)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix Ariadne Middleware Testing (#776)

* Fix ariadne middleware testing

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>

* [Mega-Linter] Apply linters fixes

* Bump tests

---------

Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Exclude merged PRs from automatic mergify actions. (#774)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Refactor Code Coverage (#765)

* Reorder dependency of code coverage fixture

* Fix tests with coverage disabled

* Refactor code coverage fixture

* Clean out old coverage settings

* Fix missing code coverage fixture

* Fix pypy priority sampling

* Start coverage from pytest-cov for better tracking

* Refactor coverage config file

* Ripping out coverage fixtures

* Move tool config to bottom of tox.ini

* Disabling py27 warning

* Renaming env var

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add GraphQL Introspection Setting (#783)

* Add graphql introspection setting

* Sort settings object hierarchy

* Add test for introspection queries setting

* Expand introspection queries testing

* [Mega-Linter] Apply linters fixes

* Adjust introspection detection for graphql

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix instance info tests for redis. (#784)

* Fix instance info tests for redis.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Fix Redis Instance Info (#790)

* Fix failing redis test for new default behavior

* Revert "Fix instance info tests for redis. (#784)"

This reverts commit f7108e3c2a54ab02a1104f6c16bd5fd799b9fc7e.

* Guard GraphQL Settings Lookup (#787)

* Guard graphql settings lookup

* [Mega-Linter] Apply linters fixes

* Bump tests

* Update graphql settings test

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Errors Inbox Improvements (#791)

* Errors inbox attributes and tests (#778)

* Initial errors inbox commit

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add enduser.id field

* Move validate_error_trace_attributes into validators directory

* Add error callback attributes test

* Add tests for enduser.id & error.group.name

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>

* Uncomment code_coverage

* Drop commented out line

---------

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Error Group Callback API (#785)

* Error group initial implementation

* Rewrite…
hmstepanek added a commit that referenced this pull request Sep 25, 2023
* Add tree model function traces (#691)

* Add sklearn to tox

* Add function traces around model methods

* Support Python 2.7 & 3.7 sklearn

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Refactor

* Follow two digit convention

* Make if-else a one-liner

* Abstract to re-usable instrumentation function

* Use wrap_method_trace & change to Function group

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Fixup: use if-else one-liner

* Use hasattr instead of model name check

* Change component_sklearn to mlmodel_sklearn

* Fixup: replace in model names with hasattr

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add config setting for sklearn inference event capture. (#706)

* Add sklearn to tox

* Add function traces around model methods

* Support Python 2.7 & 3.7 sklearn

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Refactor

* Follow two digit convention

* Make if-else a one-liner

* Abstract to re-usable instrumentation function

* Add ML inference event capture config setting.

* [Mega-Linter] Apply linters fixes

* Fixup: remove component_sklearn files

* Add high security mode testing for ML events setting.

* [Mega-Linter] Apply linters fixes

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Capture scorer results (#694)

* Add score results attributes to metric scorers

* Test un-subclassable types

* [Mega-Linter] Apply linters fixes

* [Mega-Linter] Apply linters fixes

* Trigger tests

* Remove custom subclassing code.

* [Mega-Linter] Apply linters fixes

* Remove unused function

* Add test for iterable score results

* Change name of object proxy

* Fixup: rename proxy in tests too

Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Add ensemble model function traces (#697)

* Add sklearn to tox

* Add function traces around model methods

* Support Python 2.7 & 3.7 sklearn

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Add ensemble models

* Add ensemble model tests

* Edit tests

* Add ensemble library models from sklearn

* Start tests with empty commit

* Clean up tests

* Fix tests for various versions of sklearn

* Fix ensemble tests with changes from tree PR

* [Mega-Linter] Apply linters fixes

* Remove breakpoints

* Remove commited config files

* Group tests into more readable format

* Pin startlette latest < 0.23.1

* Convert PY3 checks to one-liners

* Use tuple checks for sklearn version

Use tuple checks for sklearn version, string checks can result in unexpected out of
order comparisons. Also use direct comparisons for easier readability.

* Fix VotingRegressor test

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Include training step in metric scorer name (#712)

* Include training step in scorer name

* Add fit_predict data proxying

* Remove name comments

* Fix predict being called before fit

* Re-use existing fixture

* Add cluster model function traces (#700)

* Add sklearn to tox

* Add function traces around model methods

* Support Python 2.7 & 3.7 sklearn

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Add ensemble models

* Add ensemble model tests

* Edit tests

* Add ensemble library models from sklearn

* Start tests with empty commit

* Clean up tests

* Add cluster model instrumentaton

* Fix tests for various versions of sklearn

* Fix ensemble tests with changes from tree PR

* [Mega-Linter] Apply linters fixes

* Fix some cluster model tests

* Fix tests after ensemble PR merge

* Add transform to tests

* Remove accidental commits

* Modify cluster tests to be more readable

* Break up instrumentation models

* Remove duplicate ensemble module defs

* Modify VotingRegressor test

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Add calibration model function traces (#709)

* Add sklearn to tox

* Add function traces around model methods

* Support Python 2.7 & 3.7 sklearn

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Add ensemble models

* Add ensemble model tests

* Edit tests

* Add ensemble library models from sklearn

* Start tests with empty commit

* Clean up tests

* Fix tests for various versions of sklearn

* Fix ensemble tests with changes from tree PR

* [Mega-Linter] Apply linters fixes

* Remove breakpoints

* Create tests/instrumentation for calibration models

* Fix calibration tests

* Remove commented out code

* Remove yaml file in commit

* Remove duplicate ensemble module defs

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Add svm model function traces (#733)

* Add svm models

* Remove extra conditionals from testing

* Add semi supervised models (#732)

* Add pipeline model function traces (#730)

* Add pipeline models

* Remove commented code

* Add neural network model function traces (#729)

* Add neural network models

* Fixup: merge conflict

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Add neighbors models (#728)

* Add mixture models (#725)

* Add model selection model function traces (#726)

* Add outline for model selection tests

* Add some testing to model selection

* Add hooks

* Add estimator

* Finish testing for model selection

* Add naive bayes models (#724)

* Add multioutput models (#723)

* Add multiclass models (#722)

* Add kernel ridge model function traces (#721)

* Add kernel ridge models

* Modify VotingRegressor test

* Add custom feature events for sklearn (#727)

* Add function traces around model methods

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Refactor

* Instrument predict function.

* Add data trains fixture.

* Add testing and cleanup for custom feature events.

* Update test_tree_models.

* Add back training step logic to predict proxy.

* Remove unused files.

* Add tree model function traces (#691)

* Add sklearn to tox

* Add function traces around model methods

* Support Python 2.7 & 3.7 sklearn

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Refactor

* Follow two digit convention

* Make if-else a one-liner

* Abstract to re-usable instrumentation function

* Use wrap_method_trace & change to Function group

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Fixup: use if-else one-liner

* Use hasattr instead of model name check

* Change component_sklearn to mlmodel_sklearn

* Fixup: replace in model names with hasattr

Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add config setting for sklearn inference event capture. (#706)

* Add sklearn to tox

* Add function traces around model methods

* Support Python 2.7 & 3.7 sklearn

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Refactor

* Follow two digit convention

* Make if-else a one-liner

* Abstract to re-usable instrumentation function

* Add ML inference event capture config setting.

* [Mega-Linter] Apply linters fixes

* Fixup: remove component_sklearn files

* Add high security mode testing for ML events setting.

* [Mega-Linter] Apply linters fixes

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Capture scorer results (#694)

* Add score results attributes to metric scorers

* Test un-subclassable types

* [Mega-Linter] Apply linters fixes

* [Mega-Linter] Apply linters fixes

* Trigger tests

* Remove custom subclassing code.

* [Mega-Linter] Apply linters fixes

* Remove unused function

* Add test for iterable score results

* Change name of object proxy

* Fixup: rename proxy in tests too

Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Add ensemble model function traces (#697)

* Add sklearn to tox

* Add function traces around model methods

* Support Python 2.7 & 3.7 sklearn

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Add ensemble models

* Add ensemble model tests

* Edit tests

* Add ensemble library models from sklearn

* Start tests with empty commit

* Clean up tests

* Fix tests for various versions of sklearn

* Fix ensemble tests with changes from tree PR

* [Mega-Linter] Apply linters fixes

* Remove breakpoints

* Remove commited config files

* Group tests into more readable format

* Pin startlette latest < 0.23.1

* Convert PY3 checks to one-liners

* Use tuple checks for sklearn version

Use tuple checks for sklearn version, string checks can result in unexpected out of
order comparisons. Also use direct comparisons for easier readability.

* Fix VotingRegressor test

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Add function traces around model methods

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Refactor

* Instrument predict function.

* Add data trains fixture.

* Add testing and cleanup for custom feature events.

* Update test_tree_models.

* Include training step in metric scorer name (#712)

* Include training step in scorer name

* Add fit_predict data proxying

* Remove name comments

* Fix predict being called before fit

* Re-use existing fixture

* Add cluster model function traces (#700)

* Add sklearn to tox

* Add function traces around model methods

* Support Python 2.7 & 3.7 sklearn

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Add ensemble models

* Add ensemble model tests

* Edit tests

* Add ensemble library models from sklearn

* Start tests with empty commit

* Clean up tests

* Add cluster model instrumentaton

* Fix tests for various versions of sklearn

* Fix ensemble tests with changes from tree PR

* [Mega-Linter] Apply linters fixes

* Fix some cluster model tests

* Fix tests after ensemble PR merge

* Add transform to tests

* Remove accidental commits

* Modify cluster tests to be more readable

* Break up instrumentation models

* Remove duplicate ensemble module defs

* Modify VotingRegressor test

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Add calibration model function traces (#709)

* Add sklearn to tox

* Add function traces around model methods

* Support Python 2.7 & 3.7 sklearn

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Add ensemble models

* Add ensemble model tests

* Edit tests

* Add ensemble library models from sklearn

* Start tests with empty commit

* Clean up tests

* Fix tests for various versions of sklearn

* Fix ensemble tests with changes from tree PR

* [Mega-Linter] Apply linters fixes

* Remove breakpoints

* Create tests/instrumentation for calibration models

* Fix calibration tests

* Remove commented out code

* Remove yaml file in commit

* Remove duplicate ensemble module defs

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Add back training step logic to predict proxy.

* Remove unused files.

* Address py27 test failures and review comments.

* Fix py 3.7 failures.

* Remove old component_sklearn.py file

* Fix lint errors

* [Mega-Linter] Apply linters fixes

* Merge redis fix.

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: Timothy Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Add feature selection model function traces (#719)

* Add feature selection models

* Modify VotingRegressor test

* Add dummy model function traces (#718)

* Add gaussian process model function traces (#720)

* Add gaussian process models

* Modify VotingRegressor test

* Modify Gaussian Process models tests

* Add discriminant analysis model (#717)

* Add cross decomposition models (#716)

* Add covariance model (#714)

* Add compose models (#713)

* Add linear model function traces (#703)

* Add sklearn to tox

* Add function traces around model methods

* Support Python 2.7 & 3.7 sklearn

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Add ensemble models

* Add ensemble model tests

* Edit tests

* Add ensemble library models from sklearn

* Start tests with empty commit

* Clean up tests

* Initial linear model commit

* Clean up tests for linear models

* Fix tests for various versions of sklearn

* Fix ensemble tests with changes from tree PR

* [Mega-Linter] Apply linters fixes

* Remove breakpoints

* Merge changes from ensemble PR

* Fix tests for v0.20.0

* Rewrite linear tests to be more readable

* Break up instrumentation in config

* Remove commented code

* Remove yaml file in commit

* Remove duplicate ensemble module defs

* Remove old no longer used file

* Remove commented out code.

* Change test name and modify VotingRegressor test

* Push empty commit

* Modify VotingRegression test

* Add estimator to VotingRegressor

* Revert VotingRegressor test

* Fix ensemble tests

* Add different models for VotingRegressor test

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>

* Add ml_model function wrapper API (#739)

* Add function traces around model methods

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Refactor

* Instrument predict function.

* Add data trains fixture.

* Add testing and cleanup for custom feature events.

* Update test_tree_models.

* Add back training step logic to predict proxy.

* Remove unused files.

* Add ml_model wrapper and tests.

* Add column name logic.

* Update branch.

* Update column name mapping logic.

* Fix py2 failures.

* Fix pypy37 failure.

* Revise feature_names logic.

* Add more ml_model wrapper testing.

* Fix linter unused import

* [Mega-Linter] Apply linters fixes

* Bump tests.

* Bump tests.

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Report feature event w/o value (#754)

Report the feature event w/o the raw value if
`machine_learning.inference_event_value.enabled` is False.

* Prediction metric stats (#715)

* Add function traces around model methods

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Refactor

* Instrument predict function.

* Add data trains fixture.

* Add testing and cleanup for custom feature events.

* Update test_tree_models.

* Add back training step logic to predict proxy.

* Remove unused files.

* Update branch.

* Add impl and testing for label events.

* [Mega-Linter] Apply linters fixes

* Add feature_name to expected events for int test.

* Fix py37 test.

* Add function traces around model methods

* Add test for multiple calls to model method

* Fixup: add comments & organize

* Refactor

* Instrument predict function.

* Add data trains fixture.

* Add testing and cleanup for custom feature events.

* Update test_tree_models.

* Add back training step logic to predict proxy.

* Remove unused files.

* Update branch.

* Add impl and testing for label events.

* Add feature_name to expected events for int test.

* [Mega-Linter] Apply linters fixes

* Fix py37 test.

* Update logic to not report value when setting is disabled.

* Fixup flake8 unused import

* Touch up label event logic and rename test_feature_events to test_inference_events.

* Add test case for multilabel output.

* Fix 2D np array test.

* Add metrics about prediction data

* Fixup

* Fix user provided label names

* Fixup label related column name tests

* [Mega-Linter] Apply linters fixes

* Assert label events in multilabel output test

* Remove return of stats

* Remove spaces from version specification

* Fix py2.7 output difference in pandas test

---------

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add new ML event type (#802)

* Add new machine learning event data type

Co-authored-by: Tim Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Validate new machine learning event data type

Co-authored-by: Tim Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Fixup: minor inconsistencies

* Fixup

* Remove code coverage fixture

* Fix lint errors

* Increase timeout for python tests

---------

Co-authored-by: Tim Pansino <TimPansino@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Add machine learning and ml_event config options (#811)

* Add machine learning config options

* machine_learning.enabled
* machine_learning.inference_events.enable
* machine_learning.inference_events.value.enabled
* event_harvest_config.harvest_limits.ml_event_data

Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Replace all TODOs w/ new config settings

* [Mega-Linter] Apply linters fixes

* Trigger tests

* Add insights settings & tests

* Remove collect_custom_events & inference_events.enabled

* Revert inference_events_value=>.value

* Remove TODO

* Fixup: format docstring

* Remove file

* Add tests for machine_learning.enabled

---------

Co-authored-by: Lalleh Rafeei <lrafeei@newrelic.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>

* Dimensional Metrics (#815)

* Wiring dimensional metrics

* Squashed commit of the following:

commit c2d4629dfd7787354b6607160bb952913975d5f7
Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Date:   Wed May 10 15:59:13 2023 -0700

    Add required option for tox v4 (#795)

    * Add required option for tox v4

    * Update tox in GHA

    * Remove py27 no-cache-dir

commit a9636498ab5c20c266fb044a08359c0c9bbcf826
Author: Hannah Stepanek <hstepanek@newrelic.com>
Date:   Tue May 9 10:46:39 2023 -0700

    Run coverage around pytest (#813)

    * Run coverage around pytest

    * Trigger tests

    * Fixup

    * Add redis client_no_touch to ignore list

    * Temporarily remove kafka from coverage

    * Remove coverage for old libs

commit 3d8284540e0acd867c2cf680f43449bc128c0779
Author: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Date:   Wed May 3 14:50:30 2023 -0700

    Omit some frameworks from coverage analysis (#810)

    * Omit some frameworks from coverage analysis

    * Remove commas

    * Change format of omit

    * Add relative_files option to coverage

    * Add absolute directory

    * Add envsitepackagedir

    * Add coveragerc file

    * Add codecov.yml

    * [Mega-Linter] Apply linters fixes

    * Revert coveragerc file settings

    * Add files in packages and more frameworks

    * Remove commented line

    ---------

    Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
    Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

commit fd0fa35466b630e34e8476cc53ad0e163564e2de
Author: Uma Annamalai <uannamalai@newrelic.com>
Date:   Tue May 2 10:55:36 2023 -0700

    Add testing for genshi and mako. (#799)

    * Add testing for genshi and mako.

    * [Mega-Linter] Apply linters fixes

    ---------

    Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit be4fb3dda0e734889acd6bc53cf91f26c18c2118
Author: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Date:   Mon May 1 16:01:09 2023 -0700

    Add tests for Waitress (#797)

    * Change import format

    * Initial commit

    * Add more tests to adapter_waitress

    * Remove commented out code

    * [Mega-Linter] Apply linters fixes

    * Add assertions to all tests

    * Add more NR testing to waitress

    ---------

    Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit 7103506ca5639d339e3e47dfb9e4affb546c839b
Author: Hannah Stepanek <hstepanek@newrelic.com>
Date:   Mon May 1 14:12:31 2023 -0700

    Add tests for pyodbc (#796)

    * Add tests for pyodbc

    * Move imports into tests to get import coverage

    * Fixup: remove time import

    * Trigger tests

    ---------

    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit 363122a0efe0ad9f4784fc1f67fda046cb9bb7e8
Author: Hannah Stepanek <hstepanek@newrelic.com>
Date:   Mon May 1 13:34:35 2023 -0700

    Pin virtualenv, fix pip arg deprecation & disable kafka tests (#803)

    * Pin virtualenv

    * Fixup: use 20.21.1 instead

    * Replace install-options with config-settings

    See https://github.com/pypa/pip/issues/11358.

    * Temporarily disable kafka tests

* Add dimensional stats table to stats engine

* Add attribute processing to metric identity

* Add testing for dimensional metrics

* Cover tags as list not dict

* Commit suggestions from code review

* Add OTLP protocol class & protos (#821)

* Add protos under packages for otlp

* Add common otlp proto payload methods

* Add new oltp protocol class

* Remove ML event from log message

* Remove params, add api-key header & expose path

The params are not relevant to OTLP so remove these.
The api-key header is how we provide the license key to OTLP so add this.
The path to upload dimensional metrics and events are different in OTLP so expose
the path so it can be overriden inside the coresponding data_collector methods.

* Add otlp_port and otlp_host settings

* Default to JSON if protobuf not available & warn

* Move otlp_utils to core

* Call encode in protocol class

* Patch issues with data collector

* Move resource to utils & add log proto imports

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Fix Testing Failures (#828)

* Fix tastypie tests

* Adjust asgiref pinned version

* Make aioredis key PID unique

* Pin more asgiref versions

* Fix pytest test filtering when running tox (#823)

Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* OTLP Serialization for Dimensional Metrics (#826)

* Add protos under packages for otlp

* Add common otlp proto payload methods

* Add new oltp protocol class

* Remove ML event from log message

* Remove params, add api-key header & expose path

The params are not relevant to OTLP so remove these.
The api-key header is how we provide the license key to OTLP so add this.
The path to upload dimensional metrics and events are different in OTLP so expose
the path so it can be overriden inside the coresponding data_collector methods.

* Add metric protos

* Use protos to create payload

* Squashed commit of the following:

commit 6f15520cea6a1098915c9ca340dbe42de6a5de1d
Author: Tim Pansino <timpansino@gmail.com>
Date:   Mon May 15 14:28:50 2023 -0700

    TEMP

commit 1a28d36f86dd3f1fa5ca7a8f56357d168aac69db
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu May 11 17:28:27 2023 -0700

    Cover tags as list not dict

commit 71261e3d468320569742a72c690f6ff4e9b3e621
Merge: 459e08567 c2d4629df
Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Date:   Thu May 11 16:59:11 2023 -0700

    Merge branch 'main' into feature-dimensional-metrics

commit 459e08567102cfadce398b57d245ecf99408400d
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu May 11 16:57:16 2023 -0700

    Add testing for dimensional metrics

commit ed33957cd2b20bc1f6e9759a0bad5e4f4a86a38c
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu May 11 16:56:31 2023 -0700

    Add attribute processing to metric identity

commit 6caf71ef4386395d950060e0e996f80dbcbfbc32
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu May 11 16:56:16 2023 -0700

    Add dimensional stats table to stats engine

commit 5e1cc9dea6d0d9623130dedd0f787408a8439388
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed May 10 16:00:42 2023 -0700

    Squashed commit of the following:

    commit c2d4629dfd7787354b6607160bb952913975d5f7
    Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
    Date:   Wed May 10 15:59:13 2023 -0700

        Add required option for tox v4 (#795)

        * Add required option for tox v4

        * Update tox in GHA

        * Remove py27 no-cache-dir

    commit a9636498ab5c20c266fb044a08359c0c9bbcf826
    Author: Hannah Stepanek <hstepanek@newrelic.com>
    Date:   Tue May 9 10:46:39 2023 -0700

        Run coverage around pytest (#813)

        * Run coverage around pytest

        * Trigger tests

        * Fixup

        * Add redis client_no_touch to ignore list

        * Temporarily remove kafka from coverage

        * Remove coverage for old libs

    commit 3d8284540e0acd867c2cf680f43449bc128c0779
    Author: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
    Date:   Wed May 3 14:50:30 2023 -0700

        Omit some frameworks from coverage analysis (#810)

        * Omit some frameworks from coverage analysis

        * Remove commas

        * Change format of omit

        * Add relative_files option to coverage

        * Add absolute directory

        * Add envsitepackagedir

        * Add coveragerc file

        * Add codecov.yml

        * [Mega-Linter] Apply linters fixes

        * Revert coveragerc file settings

        * Add files in packages and more frameworks

        * Remove commented line

        ---------

        Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
        Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

    commit fd0fa35466b630e34e8476cc53ad0e163564e2de
    Author: Uma Annamalai <uannamalai@newrelic.com>
    Date:   Tue May 2 10:55:36 2023 -0700

        Add testing for genshi and mako. (#799)

        * Add testing for genshi and mako.

        * [Mega-Linter] Apply linters fixes

        ---------

        Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
        Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

    commit be4fb3dda0e734889acd6bc53cf91f26c18c2118
    Author: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
    Date:   Mon May 1 16:01:09 2023 -0700

        Add tests for Waitress (#797)

        * Change import format

        * Initial commit

        * Add more tests to adapter_waitress

        * Remove commented out code

        * [Mega-Linter] Apply linters fixes

        * Add assertions to all tests

        * Add more NR testing to waitress

        ---------

        Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
        Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

    commit 7103506ca5639d339e3e47dfb9e4affb546c839b
    Author: Hannah Stepanek <hstepanek@newrelic.com>
    Date:   Mon May 1 14:12:31 2023 -0700

        Add tests for pyodbc (#796)

        * Add tests for pyodbc

        * Move imports into tests to get import coverage

        * Fixup: remove time import

        * Trigger tests

        ---------

        Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

    commit 363122a0efe0ad9f4784fc1f67fda046cb9bb7e8
    Author: Hannah Stepanek <hstepanek@newrelic.com>
    Date:   Mon May 1 13:34:35 2023 -0700

        Pin virtualenv, fix pip arg deprecation & disable kafka tests (#803)

        * Pin virtualenv

        * Fixup: use 20.21.1 instead

        * Replace install-options with config-settings

        See https://github.com/pypa/pip/issues/11358.

        * Temporarily disable kafka tests

commit c2d4629dfd7787354b6607160bb952913975d5f7
Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Date:   Wed May 10 15:59:13 2023 -0700

    Add required option for tox v4 (#795)

    * Add required option for tox v4

    * Update tox in GHA

    * Remove py27 no-cache-dir

commit a9636498ab5c20c266fb044a08359c0c9bbcf826
Author: Hannah Stepanek <hstepanek@newrelic.com>
Date:   Tue May 9 10:46:39 2023 -0700

    Run coverage around pytest (#813)

    * Run coverage around pytest

    * Trigger tests

    * Fixup

    * Add redis client_no_touch to ignore list

    * Temporarily remove kafka from coverage

    * Remove coverage for old libs

commit dc81a50a9fc5f2a5ce6978aa064fdfab1618328b
Author: Tim Pansino <timpansino@gmail.com>
Date:   Sat May 6 14:16:14 2023 -0700

    Wiring dimensional metrics

commit 3d8284540e0acd867c2cf680f43449bc128c0779
Author: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Date:   Wed May 3 14:50:30 2023 -0700

    Omit some frameworks from coverage analysis (#810)

    * Omit some frameworks from coverage analysis

    * Remove commas

    * Change format of omit

    * Add relative_files option to coverage

    * Add absolute directory

    * Add envsitepackagedir

    * Add coveragerc file

    * Add codecov.yml

    * [Mega-Linter] Apply linters fixes

    * Revert coveragerc file settings

    * Add files in packages and more frameworks

    * Remove commented line

    ---------

    Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
    Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

commit fd0fa35466b630e34e8476cc53ad0e163564e2de
Author: Uma Annamalai <uannamalai@newrelic.com>
Date:   Tue May 2 10:55:36 2023 -0700

    Add testing for genshi and mako. (#799)

    * Add testing for genshi and mako.

    * [Mega-Linter] Apply linters fixes

    ---------

    Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit be4fb3dda0e734889acd6bc53cf91f26c18c2118
Author: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Date:   Mon May 1 16:01:09 2023 -0700

    Add tests for Waitress (#797)

    * Change import format

    * Initial commit

    * Add more tests to adapter_waitress

    * Remove commented out code

    * [Mega-Linter] Apply linters fixes

    * Add assertions to all tests

    * Add more NR testing to waitress

    ---------

    Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit 7103506ca5639d339e3e47dfb9e4affb546c839b
Author: Hannah Stepanek <hstepanek@newrelic.com>
Date:   Mon May 1 14:12:31 2023 -0700

    Add tests for pyodbc (#796)

    * Add tests for pyodbc

    * Move imports into tests to get import coverage

    * Fixup: remove time import

    * Trigger tests

    ---------

    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Squashed commit of the following:

commit 7a384c5935f8d6d24db9b488a7e48a6854efedd6
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jun 1 12:10:59 2023 -0700

    Cleaning out agent protocol

commit c87d31d5d3a91eb7c584f32f9831fbebc1ffe378
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jun 1 12:10:46 2023 -0700

    Change content-type header

commit 5750e546797b16f96e71161f794cb34a253418a6
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu Jun 1 12:05:52 2023 -0700

    Add common utilities for OTLP

* Remove testing logic

* Adding metric serialization helpers

* Squashed commit of the following:

commit a47e209925a210e85bb6c57f0a2efa9e99630b7f
Author: Tim Pansino <timpansino@gmail.com>
Date:   Tue Jun 6 11:11:30 2023 -0700

    Commit suggestions from code review

commit 1a28d36f86dd3f1fa5ca7a8f56357d168aac69db
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu May 11 17:28:27 2023 -0700

    Cover tags as list not dict

commit 71261e3d468320569742a72c690f6ff4e9b3e621
Merge: 459e08567 c2d4629df
Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Date:   Thu May 11 16:59:11 2023 -0700

    Merge branch 'main' into feature-dimensional-metrics

commit 459e08567102cfadce398b57d245ecf99408400d
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu May 11 16:57:16 2023 -0700

    Add testing for dimensional metrics

commit ed33957cd2b20bc1f6e9759a0bad5e4f4a86a38c
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu May 11 16:56:31 2023 -0700

    Add attribute processing to metric identity

commit 6caf71ef4386395d950060e0e996f80dbcbfbc32
Author: Tim Pansino <timpansino@gmail.com>
Date:   Thu May 11 16:56:16 2023 -0700

    Add dimensional stats table to stats engine

commit 5e1cc9dea6d0d9623130dedd0f787408a8439388
Author: Tim Pansino <timpansino@gmail.com>
Date:   Wed May 10 16:00:42 2023 -0700

    Squashed commit of the following:

    commit c2d4629dfd7787354b6607160bb952913975d5f7
    Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
    Date:   Wed May 10 15:59:13 2023 -0700

        Add required option for tox v4 (#795)

        * Add required option for tox v4

        * Update tox in GHA

        * Remove py27 no-cache-dir

    commit a9636498ab5c20c266fb044a08359c0c9bbcf826
    Author: Hannah Stepanek <hstepanek@newrelic.com>
    Date:   Tue May 9 10:46:39 2023 -0700

        Run coverage around pytest (#813)

        * Run coverage around pytest

        * Trigger tests

        * Fixup

        * Add redis client_no_touch to ignore list

        * Temporarily remove kafka from coverage

        * Remove coverage for old libs

    commit 3d8284540e0acd867c2cf680f43449bc128c0779
    Author: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
    Date:   Wed May 3 14:50:30 2023 -0700

        Omit some frameworks from coverage analysis (#810)

        * Omit some frameworks from coverage analysis

        * Remove commas

        * Change format of omit

        * Add relative_files option to coverage

        * Add absolute directory

        * Add envsitepackagedir

        * Add coveragerc file

        * Add codecov.yml

        * [Mega-Linter] Apply linters fixes

        * Revert coveragerc file settings

        * Add files in packages and more frameworks

        * Remove commented line

        ---------

        Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
        Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

    commit fd0fa35466b630e34e8476cc53ad0e163564e2de
    Author: Uma Annamalai <uannamalai@newrelic.com>
    Date:   Tue May 2 10:55:36 2023 -0700

        Add testing for genshi and mako. (#799)

        * Add testing for genshi and mako.

        * [Mega-Linter] Apply linters fixes

        ---------

        Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
        Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

    commit be4fb3dda0e734889acd6bc53cf91f26c18c2118
    Author: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
    Date:   Mon May 1 16:01:09 2023 -0700

        Add tests for Waitress (#797)

        * Change import format

        * Initial commit

        * Add more tests to adapter_waitress

        * Remove commented out code

        * [Mega-Linter] Apply linters fixes

        * Add assertions to all tests

        * Add more NR testing to waitress

        ---------

        Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
        Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

    commit 7103506ca5639d339e3e47dfb9e4affb546c839b
    Author: Hannah Stepanek <hstepanek@newrelic.com>
    Date:   Mon May 1 14:12:31 2023 -0700

        Add tests for pyodbc (#796)

        * Add tests for pyodbc

        * Move imports into tests to get import coverage

        * Fixup: remove time import

        * Trigger tests

        ---------

        Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

    commit 363122a0efe0ad9f4784fc1f67fda046cb9bb7e8
    Author: Hannah Stepanek <hstepanek@newrelic.com>
    Date:   Mon May 1 13:34:35 2023 -0700

        Pin virtualenv, fix pip arg deprecation & disable kafka tests (#803)

        * Pin virtualenv

        * Fixup: use 20.21.1 instead

        * Replace install-options with config-settings

        See https://github.com/pypa/pip/issues/11358.

        * Temporarily disable kafka tests

commit c2d4629dfd7787354b6607160bb952913975d5f7
Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Date:   Wed May 10 15:59:13 2023 -0700

    Add required option for tox v4 (#795)

    * Add required option for tox v4

    * Update tox in GHA

    * Remove py27 no-cache-dir

commit a9636498ab5c20c266fb044a08359c0c9bbcf826
Author: Hannah Stepanek <hstepanek@newrelic.com>
Date:   Tue May 9 10:46:39 2023 -0700

    Run coverage around pytest (#813)

    * Run coverage around pytest

    * Trigger tests

    * Fixup

    * Add redis client_no_touch to ignore list

    * Temporarily remove kafka from coverage

    * Remove coverage for old libs

commit dc81a50a9fc5f2a5ce6978aa064fdfab1618328b
Author: Tim Pansino <timpansino@gmail.com>
Date:   Sat May 6 14:16:14 2023 -0700

    Wiring dimensional metrics

commit 3d8284540e0acd867c2cf680f43449bc128c0779
Author: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Date:   Wed May 3 14:50:30 2023 -0700

    Omit some frameworks from coverage analysis (#810)

    * Omit some frameworks from coverage analysis

    * Remove commas

    * Change format of omit

    * Add relative_files option to coverage

    * Add absolute directory

    * Add envsitepackagedir

    * Add coveragerc file

    * Add codecov.yml

    * [Mega-Linter] Apply linters fixes

    * Revert coveragerc file settings

    * Add files in packages and more frameworks

    * Remove commented line

    ---------

    Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
    Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

commit fd0fa35466b630e34e8476cc53ad0e163564e2de
Author: Uma Annamalai <uannamalai@newrelic.com>
Date:   Tue May 2 10:55:36 2023 -0700

    Add testing for genshi and mako. (#799)

    * Add testing for genshi and mako.

    * [Mega-Linter] Apply linters fixes

    ---------

    Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit be4fb3dda0e734889acd6bc53cf91f26c18c2118
Author: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Date:   Mon May 1 16:01:09 2023 -0700

    Add tests for Waitress (#797)

    * Change import format

    * Initial commit

    * Add more tests to adapter_waitress

    * Remove commented out code

    * [Mega-Linter] Apply linters fixes

    * Add assertions to all tests

    * Add more NR testing to waitress

    ---------

    Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

commit 7103506ca5639d339e3e47dfb9e4affb546c839b
Author: Hannah Stepanek <hstepanek@newrelic.com>
Date:   Mon May 1 14:12:31 2023 -0700

    Add tests for pyodbc (#796)

    * Add tests for pyodbc

    * Move imports into tests to get import coverage

    * Fixup: remove time import

    * Trigger tests

    ---------

    Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add protobuf to agent features tests

* Proper bucket dimensional metric serialization

* Wiring up OTLP protocol for metrics

* Correct metrics payloads

* Make default content-encoding header configurable

* Clean up otlp encoding

* Expand OTLP metrics testing

* Squashed commit of the following:

commit 30f0bf5ce27f239f70b236c639a49715f33ce948
Author: Hannah Stepanek <hstepanek@newrelic.com>
Date:   Fri Jun 9 16:12:09 2023 -0700

    Add OTLP protocol class & protos (#821)

    * Add protos under packages for otlp

    * Add common otlp proto payload methods

    * Add new oltp protocol class

    * Remove ML event from log message

    * Remove params, add api-key header & expose path

    The params are not relevant to OTLP so remove these.
    The api-key header is how we provide the license key to OTLP so add this.
    The path to upload dimensional metrics and events are different in OTLP so expose
    the path so it can be overriden inside the coresponding data_collector methods.

    * Add otlp_port and otlp_host settings

    * Default to JSON if protobuf not available & warn

    * Move otlp_utils to core

    * Call encode in protocol class

    * Patch issues with data collector

    * Move resource to utils & add log proto imports

    ---------

    Co-authored-by: Tim Pansino <timpansino@gmail.com>

commit e970884dac0e1f9c703c6fdbff408fb923502f51
Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Date:   Thu Jun 8 13:17:28 2023 -0700

    Dimensional Metrics (#815)

    * Wiring dimensional metrics

    * Squashed commit of the following:

    commit c2d4629dfd7787354b6607160bb952913975d5f7
    Author: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
    Date:   Wed May 10 15:59:13 2023 -0700

        Add required option for tox v4 (#795)

        * Add required option for tox v4

        * Update tox in GHA

        * Remove py27 no-cache-dir

    commit a9636498ab5c20c266fb044a08359c0c9bbcf826
    Author: Hannah Stepanek <hstepanek@newrelic.com>
    Date:   Tue May 9 10:46:39 2023 -0700

        Run coverage around pytest (#813)

        * Run coverage around pytest

        * Trigger tests

        * Fixup

        * Add redis client_no_touch to ignore list

        * Temporarily remove kafka from coverage

        * Remove coverage for old libs

    commit 3d8284540e0acd867c2cf680f43449bc128c0779
    Author: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
    Date:   Wed May 3 14:50:30 2023 -0700

        Omit some frameworks from coverage analysis (#810)

        * Omit some frameworks from coverage analysis

        * Remove commas

        * Change format of omit

        * Add relative_files option to coverage

        * Add absolute directory

        * Add envsitepackagedir

        * Add coveragerc file

        * Add codecov.yml

        * [Mega-Linter] Apply linters fixes

        * Revert coveragerc file settings

        * Add files in packages and more frameworks

        * Remove commented line

        ---------

        Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
        Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

    commit fd0fa35466b630e34e8476cc53ad0e163564e2de
    Author: Uma Annamalai <uannamalai@newrelic.com>
    Date:   Tue May 2 10:55:36 2023 -0700

        Add testing for genshi and mako. (#799)

        * Add testing for genshi and mako.

        * [Mega-Linter] Apply linters fixes

        ---------

        Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
        Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

    commit be4fb3dda0e734889acd6bc53cf91f26c18c2118
    Author: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
    Date:   Mon May 1 16:01:09 2023 -0700

        Add tests for Waitress (#797)

        * Change import format

        * Initial commit

        * Add more tests to adapter_waitress

        * Remove commented out code

        * [Mega-Linter] Apply linters fixes

        * Add assertions to all tests

        * Add more NR testing to waitress

        ---------

        Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
        Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

    commit 7103506ca5639d339e3e47dfb9e4affb546c839b
    Author: Hannah Stepanek <hstepanek@newrelic.com>
    Date:   Mon May 1 14:12:31 2023 -0700

        Add tests for pyodbc (#796)

        * Add tests for pyodbc

        * Move imports into tests to get import coverage

        * Fixup: remove time import

        * Trigger tests

        ---------

        Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

    commit 363122a0efe0ad9f4784fc1f67fda046cb9bb7e8
    Author: Hannah Stepanek <hstepanek@newrelic.com>
    Date:   Mon May 1 13:34:35 2023 -0700

        Pin virtualenv, fix pip arg deprecation & disable kafka tests (#803)

        * Pin virtualenv

        * Fixup: use 20.21.1 instead

        * Replace install-options with config-settings

        See https://github.com/pypa/pip/issues/11358.

        * Temporarily disable kafka tests

    * Add dimensional stats table to stats engine

    * Add attribute processing to metric identity

    * Add testing for dimensional metrics

    * Cover tags as list not dict

    * Commit suggestions from code review

* Fix missing resource error

* Add global settings override for otlp_host test

* Fix unbound local variable

* Remove redundant and miscategorized tests

* Migrate and merge otlp utils to core.

* Fix virtualenv for newer tox versions and Py27

* Fix validator for Py27

* Fix dimensional metric normalization

* Fix lint errors

* Fix pypy 27 naming

* Add debug override for metric serialization

* Fix exit code passthrough in tox script

* Make otlp_encode more robust

* Add json vs protobuf testing fixture

* Remove sklearn py27 testing

* Validate resource in OTLP

* Revert unrelated changes from code review

* Fixup: service.provider assertion

---------

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Fix attribute name mismatches from mlops sdk (#845)

* Convert numerical -> numeric

* Adjust attr names to match mlops sdk

* Add feature_/label_ prefix to type & name attrs
* model_name -> modelName

* Set event type to inferenceData

* Backport main into develop-scikitlearn (#847)

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix pypy27 dependency

* Add skip for OTLP on py27

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Use Dimensional Metrics in SKLearn (#850)

* Convert ML custom metrics to dimensional with tags

* Rename _class to class_

* Remove typo

* Adjust ML metric tests for dimensional metrics

* Pin sklearn to <1.11.0 for testing

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fixup dependency pinning

* Hook up ml event to OTLP (#822)

* Use protos and otlp protocol class for ml_events

* inferenceData -> InferenceData

* Add LogsData import

* Add utf-8 encoding for json otlp payload

* Cast timestamp to int

* Use ml_event validator in tests

* Fixup payload tests

* Change str_value -> string_value

* Move event payload gen into otlp_utils

* Fixup: put back print

* Fixup: cast as str for py27

* Fixup lint errors

* Skip py2 protobuf

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix OTLP Count Metric Serialization (#856)

* Fix metric filtering in OTLP encoding

* Add regression test for duplicate metrics

* Make error message more clear

* Add pylint ignore C0123

* Add explanation comment

* Linting fixups

* Merge main (#874)

* Exclude command line functionality from test coverage (#855)

* FIX: resilient environment settings (#825)

if the application uses generalimport to manage optional depedencies,
it's possible that generalimport.MissingOptionalDependency is raised.
In this case, we should not report the module as it is not actually loaded and
is not a runtime dependency of the application.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Replace drop_transaction logic by using transaction context manager (#832)

* Replace drop_transaction call

* [Mega-Linter] Apply linters fixes

* Empty commit to start tests

* Change logic in BG Wrappers

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Upgrade to Pypy38 for TypedDict (#861)

* Fix base branch

* Revert tox dependencies

* Replace all pypy37 with pypy38

* Remove action.yml file

* Push Empty Commit

* Fix skip_missing_interpreters behavior

* Fix skip_missing_interpreters behavior

* Pin dev CI image sha

* Remove unsupported Tornado tests

* Add latest tests to Tornado

* Remove pypy38 (for now)

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Add profile_trace testing (#858)

* Include isort stdlibs for determining stdlib modules

* Use isort & sys to eliminate std & builtin modules

Previously, the logic would fail to identify third party modules installed within the
local user socpe. This fixes that issue by skipping builtin and stdlib modules by name,
instead of attempting to identify third party modules based on file paths.

* Handle importlib_metadata.version being a callable

* Add isort into third party notices

* [Mega-Linter] Apply linters fixes

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add more debug messages

* Swap out dev ci image

* Fix required virtualenv version

* Swap out dev ci image

* Swap out dev ci image

* Remove aioredis v1 for EOL

* Add coverage paths for docker container

* Unpin ci container

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Trigger tests

* Add testing for profile trace.

* [Mega-Linter] Apply linters fixes

* Ignore __call__ from coverage on profile_trace.

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Add Transaction API Tests (#857)

* Test for suppress_apdex_metric

* Add custom_metrics tests

* Add distributed_trace_headers testing in existing tests

* [Mega-Linter] Apply linters fixes

* Remove redundant if-statement

* Ignore deprecated transaction function from coverage

* [Mega-Linter] Apply linters fixes

* Push empty commit

* Update newrelic/api/transaction.py

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>

* Add tests for jinja2. (#842)

* Add tests for jinja2.

* [Mega-Linter] Apply linters fixes

* Update tox.ini

Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

---------

Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>

* Add tests for newrelic/config.py (#860)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix starlette testing matrix for updated behavior. (#869)

Co-authored-by: Lalleh Rafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Uma Annamalai <umaannamalai@users.noreply.github.com>

* Correct Serverless Distributed Tracing Logic (#870)

* Fix serverless logic for distributed tracing

* Test stubs

* Collapse testing changes

* Add negative testing to regular DT test suite

* Apply linter fixes

* [Mega-Linter] Apply linters fixes

---------

Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>

* Fix Kafka CI (#863)

* Reenable kafka testing

* Add kafka dev lib

* Sync install python with devcontainer

* Fix kafka local host setting

* Drop set -u flag

* Pin CI image dev sha

* Add parallel flag to kafka

* Fix proper exit status

* Build librdkafka from source

* Updated dev image sha

* Remove coverage exclusions

* Add new options to better emulate GHA

* Reconfigure kafka networking

Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Fix kafka ports on GHA

* Run kafka tests serially

* Separate kafka consumer groups

* Put CI container makefile back

* Remove confluent kafka Py27 for latest

* Roll back ubuntu version update

* Update dev ci sha

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hmstepanek@users.noreply.github.com>

* Change image tag to latest (#871)

* Change image tag to latest

* Use built sha

* Fixup

* Replace w/ latest

* Add full version for pypy3.8 to tox (#872)

* Add full version for pypy3.8

* Remove solrpy from tests

* Fix merge conflict

* Fix tests for scikit-learn >= 1.3.0

In 1.3.0 sklearn renamed fit to _fit in BaseDecisionTree.

* Add gfortran to container

* Use ci image sha

* Add pkg-config

* New CI build

---------

Co-authored-by: Lalleh Rafeei <84813886+lrafeei@users.noreply.github.com>
Co-authored-by: Ahmed Helil <aaeabdo@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: Tim Pansino <timpansino@gmail.com>
Co-authored-by: Uma Annamalai <uannamalai@newrelic.com>
Co-authored-by: hmstepanek <hmstepanek@users.noreply.github.com>
Co-authored-by: Timothy Pansino <11214426+TimPansino@users.noreply.github.com>
Co-authored-by: TimPansino <TimPansino@users.noreply.github.com>
Co-authored-by: umaannamalai <umaannamalai@users.noreply.github.com>

* Only send 1 event per prediction & fix tests (#867)

* Only send 1 event per prediction

This changes from sending 1 event per feature/label value to 1 event per prediction.
This change is referred to as a change in "schema".
* Replace feature_name & feature_value and label_name & label_value to
  feature.<name> = <value> and label.<name> = <value>.
* Remove feature_type and label_type.

* Add new_relic_data_schema_version

* Remove pypy3.8-scipy will not compile

* Remove scipy compile deps

* Set ci build back to latest

* Merge redis changes mlops (#914)

* Exclude command line functionality from test coverage (#855)

* FIX: resilient environment settings (#825)

if the application uses generalimport to manage optional depedencies,
it's possible that generalimport.MissingOptionalDependency is raised.
In this case, we should not report the module as it is not actually loaded and
is not a runtime dependency of the application.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Hannah Stepanek <hstepanek@newrelic.com>

* Replace drop_transaction logic by using transaction context manager (#832)

* Replace drop_transaction call

* [Mega-Linter] Apply linters fixes

* Empty commit to start tests

* Change logic in BG Wrappers

---------

Co-authored-by: lrafeei <lrafeei@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Upgrade to Pypy38 for TypedDict (#861)

* Fix base branch

* Revert tox dependencies

* Replace all pypy37 with pypy38

* Remove action.yml file

* Push Empty Commit

* Fix skip_missing_interpreters behavior

* Fix skip_missing_interpreters behavior

* Pin dev CI image sha

* Remove unsupported Tornado tests

* Add latest tests to Tornado

* Remove pypy38 (for now)

---------

Co-authored-by: Tim Pansino <timpansino@gmail.com>

* Add profile_trace testing (#858)

* Include isort stdlibs for determining stdlib modules

* Use isort & sys to eliminate std & builtin modules

Previously, the logic would fail to identify third party modules installed within the
local user socpe. This fixes that issue by skipping builtin and stdlib modules by name,
instead of attempting to identify third party modules based on file paths.

* Handle importlib_metadata.version being a callable

* Add isort into third party notices

* [Mega-Linter] Apply linters fixes

* Remove Python 2.7 and pypy2 testing (#835)

* Change setup-python to @v2 for py2.7

* Remove py27 and pypy testing

* Fix syntax errors

* Fix comma related syntax errors

* Fix more issues in tox

* Remove gearman test

* Containerized CI Pipeline (#836)

* Revert "Remove Python 2.7 and pypy2 testing (#835)"

This reverts commit abb6405d2bfd629ed83f48e8a17b4a28e3a3c352.

* Containerize CI process

* Publish new docker container for CI images

* Rename github actions job

* Copyright tag scripts

* Drop debug line

* Swap to new CI image

* Move pip install to just main python

* Remove libcurl special case from tox

* Install special case packages into main image

* Remove unused packages

* Remove all other triggers besides manual

* Add make run command

* Cleanup small bugs

* Fix CI Image Tagging (#838)

* Correct templated CI image name

* Pin pypy2.7 in image

* Fix up scripting

* Temporarily Restore Old CI Pipeline (#841)

* Restore old pipelines

* Remove python 2 from setup-python

* Rework CI Pipeline (#839)

Change pypy to pypy27 in tox.

Fix checkout logic

Pin tox requires

* Fix Tests on New CI (#843)

* Remove non-root user

* Test new CI image

* Change pypy to pypy27 in tox.

* Fix checkout logic

* Fetch git tags properly

* Pin tox requires

* Adjust default db settings for github actions

* Rename elasticsearch services

* Reset to new pipelines

* [Mega-Linter] Apply linters fixes

* Fix timezone

* Fix docker networking

* Pin dev image to new sha

* Standardize gearman DB settings

* Fix elasticsearch settings bug

* Fix gearman bug

* Add missing odbc headers

* Add m…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants