apm-agent-python icon indicating copy to clipboard operation
apm-agent-python copied to clipboard

added auto-instrumentation of Django management commands

Open beniwohli opened this issue 6 years ago • 2 comments

What does this pull request do?

It adds an instrumentation module for Django management commands.

Other than all other instrumentation modules, we override call_if_sampling, not call. The reason for this is that call excpects an already running transaction, which we don't have in this case.

To give the user some influence on which commands are instrumented, a new configuration option django_commands_exclude is introduced.

Why is it important?

Management commands are often used in cron jobs or during deployment. Capturing this data can be very helpful.

Related issues

fixes #627

beniwohli avatar Nov 20 '19 16:11 beniwohli

:broken_heart: Tests Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2022-02-08T16:27:24.558+0000

  • Duration: 17 min 15 sec

Test stats :test_tube:

Test Results
Failed 134
Passed 4207
Skipped 1354
Total 5695

Test errors 134

Expand to view the tests failures

> Show only the first 10 test failures

Initializing / Test / Python-python-3.6-2 / test_user_info – tests.contrib.django.django_tests
    Expand to view the error details

     failed on setup with "LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?" 
    
    Expand to view the stacktrace

     self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
    >           return self.app_configs[app_label]
    E           KeyError: 'elasticapm.contrib.django'
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:149: KeyError
    
    During handling of the above exception, another exception occurred:
    
    request = <SubRequest '_django_db_marker' for <Function test_user_info>>
    
        @pytest.fixture(autouse=True)
        def _django_db_marker(request) -> None:
            """Implement the django_db marker, internal to pytest-django.
        
            This will dynamically request the ``db``, ``transactional_db`` or
            ``django_db_reset_sequences`` fixtures as required by the django_db marker.
            """
            marker = request.node.get_closest_marker("django_db")
            if marker:
                transaction, reset_sequences, databases = validate_django_db(marker)
        
                # TODO: Use pytest Store (item.store) once that's stable.
                request.node._pytest_django_databases = databases
        
                if reset_sequences:
                    request.getfixturevalue("django_db_reset_sequences")
                elif transaction:
                    request.getfixturevalue("transactional_db")
                else:
    >               request.getfixturevalue("db")
    
    /usr/local/lib/python3.6/site-packages/pytest_django/plugin.py:470: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    /usr/local/lib/python3.6/site-packages/pytest_django/fixtures.py:120: in django_db_setup
        **setup_databases_args
    /home/user/.local/lib/python3.6/site-packages/django/test/utils.py:187: in setup_databases
        serialize=connection.settings_dict.get('TEST', {}).get('SERIALIZE', True),
    /home/user/.local/lib/python3.6/site-packages/django/db/backends/base/creation.py:69: in create_test_db
        run_syncdb=True,
    /home/user/.local/lib/python3.6/site-packages/django/core/management/__init__.py:131: in call_command
        return command.execute(*args, **defaults)
    elasticapm/utils/wrapt/wrappers.py:562: in __call__
        args, kwargs)
    elasticapm/instrumentation/packages/django/commands.py:44: in call_if_sampling
        app = apps.get_app_config("elasticapm.contrib.django")
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
                return self.app_configs[app_label]
            except KeyError:
                message = "No installed app with label '%s'." % app_label
                for app_config in self.get_app_configs():
                    if app_config.name == app_label:
                        message += " Did you mean '%s'?" % app_config.label
                        break
    >           raise LookupError(message)
    E           LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:156: LookupError 
    
Initializing / Test / Python-python-3.6-2 / test_user_info_raises_database_error – tests.contrib.django.django_tests
    Expand to view the error details

     failed on setup with "LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?" 
    
    Expand to view the stacktrace

     self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
    >           return self.app_configs[app_label]
    E           KeyError: 'elasticapm.contrib.django'
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:149: KeyError
    
    During handling of the above exception, another exception occurred:
    
    request = <SubRequest '_django_db_marker' for <Function test_user_info_raises_database_error>>
    
        @pytest.fixture(autouse=True)
        def _django_db_marker(request) -> None:
            """Implement the django_db marker, internal to pytest-django.
        
            This will dynamically request the ``db``, ``transactional_db`` or
            ``django_db_reset_sequences`` fixtures as required by the django_db marker.
            """
            marker = request.node.get_closest_marker("django_db")
            if marker:
                transaction, reset_sequences, databases = validate_django_db(marker)
        
                # TODO: Use pytest Store (item.store) once that's stable.
                request.node._pytest_django_databases = databases
        
                if reset_sequences:
                    request.getfixturevalue("django_db_reset_sequences")
                elif transaction:
                    request.getfixturevalue("transactional_db")
                else:
    >               request.getfixturevalue("db")
    
    /usr/local/lib/python3.6/site-packages/pytest_django/plugin.py:470: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    /usr/local/lib/python3.6/site-packages/pytest_django/fixtures.py:120: in django_db_setup
        **setup_databases_args
    /home/user/.local/lib/python3.6/site-packages/django/test/utils.py:187: in setup_databases
        serialize=connection.settings_dict.get('TEST', {}).get('SERIALIZE', True),
    /home/user/.local/lib/python3.6/site-packages/django/db/backends/base/creation.py:69: in create_test_db
        run_syncdb=True,
    /home/user/.local/lib/python3.6/site-packages/django/core/management/__init__.py:131: in call_command
        return command.execute(*args, **defaults)
    elasticapm/utils/wrapt/wrappers.py:562: in __call__
        args, kwargs)
    elasticapm/instrumentation/packages/django/commands.py:44: in call_if_sampling
        app = apps.get_app_config("elasticapm.contrib.django")
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
                return self.app_configs[app_label]
            except KeyError:
                message = "No installed app with label '%s'." % app_label
                for app_config in self.get_app_configs():
                    if app_config.name == app_label:
                        message += " Did you mean '%s'?" % app_config.label
                        break
    >           raise LookupError(message)
    E           LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:156: LookupError 
    
Initializing / Test / Python-python-3.6-2 / test_user_info_with_custom_user – tests.contrib.django.django_tests
    Expand to view the error details

     failed on setup with "LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?" 
    
    Expand to view the stacktrace

     self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
    >           return self.app_configs[app_label]
    E           KeyError: 'elasticapm.contrib.django'
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:149: KeyError
    
    During handling of the above exception, another exception occurred:
    
    request = <SubRequest '_django_db_marker' for <Function test_user_info_with_custom_user>>
    
        @pytest.fixture(autouse=True)
        def _django_db_marker(request) -> None:
            """Implement the django_db marker, internal to pytest-django.
        
            This will dynamically request the ``db``, ``transactional_db`` or
            ``django_db_reset_sequences`` fixtures as required by the django_db marker.
            """
            marker = request.node.get_closest_marker("django_db")
            if marker:
                transaction, reset_sequences, databases = validate_django_db(marker)
        
                # TODO: Use pytest Store (item.store) once that's stable.
                request.node._pytest_django_databases = databases
        
                if reset_sequences:
                    request.getfixturevalue("django_db_reset_sequences")
                elif transaction:
                    request.getfixturevalue("transactional_db")
                else:
    >               request.getfixturevalue("db")
    
    /usr/local/lib/python3.6/site-packages/pytest_django/plugin.py:470: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    /usr/local/lib/python3.6/site-packages/pytest_django/fixtures.py:120: in django_db_setup
        **setup_databases_args
    /home/user/.local/lib/python3.6/site-packages/django/test/utils.py:187: in setup_databases
        serialize=connection.settings_dict.get('TEST', {}).get('SERIALIZE', True),
    /home/user/.local/lib/python3.6/site-packages/django/db/backends/base/creation.py:69: in create_test_db
        run_syncdb=True,
    /home/user/.local/lib/python3.6/site-packages/django/core/management/__init__.py:131: in call_command
        return command.execute(*args, **defaults)
    elasticapm/utils/wrapt/wrappers.py:562: in __call__
        args, kwargs)
    elasticapm/instrumentation/packages/django/commands.py:44: in call_if_sampling
        app = apps.get_app_config("elasticapm.contrib.django")
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
                return self.app_configs[app_label]
            except KeyError:
                message = "No installed app with label '%s'." % app_label
                for app_config in self.get_app_configs():
                    if app_config.name == app_label:
                        message += " Did you mean '%s'?" % app_config.label
                        break
    >           raise LookupError(message)
    E           LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:156: LookupError 
    
Initializing / Test / Python-python-3.6-2 / test_user_info_with_custom_user_non_string_username – tests.contrib.django.django_tests
    Expand to view the error details

     failed on setup with "LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?" 
    
    Expand to view the stacktrace

     self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
    >           return self.app_configs[app_label]
    E           KeyError: 'elasticapm.contrib.django'
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:149: KeyError
    
    During handling of the above exception, another exception occurred:
    
    request = <SubRequest '_django_db_marker' for <Function test_user_info_with_custom_user_non_string_username>>
    
        @pytest.fixture(autouse=True)
        def _django_db_marker(request) -> None:
            """Implement the django_db marker, internal to pytest-django.
        
            This will dynamically request the ``db``, ``transactional_db`` or
            ``django_db_reset_sequences`` fixtures as required by the django_db marker.
            """
            marker = request.node.get_closest_marker("django_db")
            if marker:
                transaction, reset_sequences, databases = validate_django_db(marker)
        
                # TODO: Use pytest Store (item.store) once that's stable.
                request.node._pytest_django_databases = databases
        
                if reset_sequences:
                    request.getfixturevalue("django_db_reset_sequences")
                elif transaction:
                    request.getfixturevalue("transactional_db")
                else:
    >               request.getfixturevalue("db")
    
    /usr/local/lib/python3.6/site-packages/pytest_django/plugin.py:470: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    /usr/local/lib/python3.6/site-packages/pytest_django/fixtures.py:120: in django_db_setup
        **setup_databases_args
    /home/user/.local/lib/python3.6/site-packages/django/test/utils.py:187: in setup_databases
        serialize=connection.settings_dict.get('TEST', {}).get('SERIALIZE', True),
    /home/user/.local/lib/python3.6/site-packages/django/db/backends/base/creation.py:69: in create_test_db
        run_syncdb=True,
    /home/user/.local/lib/python3.6/site-packages/django/core/management/__init__.py:131: in call_command
        return command.execute(*args, **defaults)
    elasticapm/utils/wrapt/wrappers.py:562: in __call__
        args, kwargs)
    elasticapm/instrumentation/packages/django/commands.py:44: in call_if_sampling
        app = apps.get_app_config("elasticapm.contrib.django")
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
                return self.app_configs[app_label]
            except KeyError:
                message = "No installed app with label '%s'." % app_label
                for app_config in self.get_app_configs():
                    if app_config.name == app_label:
                        message += " Did you mean '%s'?" % app_config.label
                        break
    >           raise LookupError(message)
    E           LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:156: LookupError 
    
Initializing / Test / Python-python-3.6-2 / test_request_metrics_contrib_redirect – tests.contrib.django.django_tests
    Expand to view the error details

     failed on setup with "LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?" 
    
    Expand to view the stacktrace

     self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
    >           return self.app_configs[app_label]
    E           KeyError: 'elasticapm.contrib.django'
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:149: KeyError
    
    During handling of the above exception, another exception occurred:
    
    request = <SubRequest '_django_db_marker' for <Function test_request_metrics_contrib_redirect>>
    
        @pytest.fixture(autouse=True)
        def _django_db_marker(request) -> None:
            """Implement the django_db marker, internal to pytest-django.
        
            This will dynamically request the ``db``, ``transactional_db`` or
            ``django_db_reset_sequences`` fixtures as required by the django_db marker.
            """
            marker = request.node.get_closest_marker("django_db")
            if marker:
                transaction, reset_sequences, databases = validate_django_db(marker)
        
                # TODO: Use pytest Store (item.store) once that's stable.
                request.node._pytest_django_databases = databases
        
                if reset_sequences:
                    request.getfixturevalue("django_db_reset_sequences")
                elif transaction:
                    request.getfixturevalue("transactional_db")
                else:
    >               request.getfixturevalue("db")
    
    /usr/local/lib/python3.6/site-packages/pytest_django/plugin.py:470: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    /usr/local/lib/python3.6/site-packages/pytest_django/fixtures.py:120: in django_db_setup
        **setup_databases_args
    /home/user/.local/lib/python3.6/site-packages/django/test/utils.py:187: in setup_databases
        serialize=connection.settings_dict.get('TEST', {}).get('SERIALIZE', True),
    /home/user/.local/lib/python3.6/site-packages/django/db/backends/base/creation.py:69: in create_test_db
        run_syncdb=True,
    /home/user/.local/lib/python3.6/site-packages/django/core/management/__init__.py:131: in call_command
        return command.execute(*args, **defaults)
    elasticapm/utils/wrapt/wrappers.py:562: in __call__
        args, kwargs)
    elasticapm/instrumentation/packages/django/commands.py:44: in call_if_sampling
        app = apps.get_app_config("elasticapm.contrib.django")
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
                return self.app_configs[app_label]
            except KeyError:
                message = "No installed app with label '%s'." % app_label
                for app_config in self.get_app_configs():
                    if app_config.name == app_label:
                        message += " Did you mean '%s'?" % app_config.label
                        break
    >           raise LookupError(message)
    E           LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:156: LookupError 
    
Initializing / Test / Python-python-3.6-2 / test_request_metrics_streaming – tests.contrib.django.django_tests
    Expand to view the error details

     failed on setup with "LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?" 
    
    Expand to view the stacktrace

     self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
    >           return self.app_configs[app_label]
    E           KeyError: 'elasticapm.contrib.django'
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:149: KeyError
    
    During handling of the above exception, another exception occurred:
    
    request = <SubRequest '_django_db_marker' for <Function test_request_metrics_streaming>>
    
        @pytest.fixture(autouse=True)
        def _django_db_marker(request) -> None:
            """Implement the django_db marker, internal to pytest-django.
        
            This will dynamically request the ``db``, ``transactional_db`` or
            ``django_db_reset_sequences`` fixtures as required by the django_db marker.
            """
            marker = request.node.get_closest_marker("django_db")
            if marker:
                transaction, reset_sequences, databases = validate_django_db(marker)
        
                # TODO: Use pytest Store (item.store) once that's stable.
                request.node._pytest_django_databases = databases
        
                if reset_sequences:
                    request.getfixturevalue("django_db_reset_sequences")
                elif transaction:
                    request.getfixturevalue("transactional_db")
                else:
    >               request.getfixturevalue("db")
    
    /usr/local/lib/python3.6/site-packages/pytest_django/plugin.py:470: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    /usr/local/lib/python3.6/site-packages/pytest_django/fixtures.py:120: in django_db_setup
        **setup_databases_args
    /home/user/.local/lib/python3.6/site-packages/django/test/utils.py:187: in setup_databases
        serialize=connection.settings_dict.get('TEST', {}).get('SERIALIZE', True),
    /home/user/.local/lib/python3.6/site-packages/django/db/backends/base/creation.py:69: in create_test_db
        run_syncdb=True,
    /home/user/.local/lib/python3.6/site-packages/django/core/management/__init__.py:131: in call_command
        return command.execute(*args, **defaults)
    elasticapm/utils/wrapt/wrappers.py:562: in __call__
        args, kwargs)
    elasticapm/instrumentation/packages/django/commands.py:44: in call_if_sampling
        app = apps.get_app_config("elasticapm.contrib.django")
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
                return self.app_configs[app_label]
            except KeyError:
                message = "No installed app with label '%s'." % app_label
                for app_config in self.get_app_configs():
                    if app_config.name == app_label:
                        message += " Did you mean '%s'?" % app_config.label
                        break
    >           raise LookupError(message)
    E           LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:156: LookupError 
    
Initializing / Test / Python-python-3.6-2 / test_subcommand_not_known – tests.contrib.django.django_tests
    Expand to view the error details

     LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'? 
    
    Expand to view the stacktrace

     self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
    >           return self.app_configs[app_label]
    E           KeyError: 'elasticapm.contrib.django'
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:149: KeyError
    
    During handling of the above exception, another exception occurred:
    
    argv_mock = <MagicMock name='_get_argv' id='139820666907896'>
    
        @mock.patch("elasticapm.contrib.django.management.commands.elasticapm.Command._get_argv")
        def test_subcommand_not_known(argv_mock):
            stdout = compat.StringIO()
            argv_mock.return_value = ["manage.py", "elasticapm"]
    >       call_command("elasticapm", "foo", stdout=stdout)
    
    tests/contrib/django/django_tests.py:1215: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    /home/user/.local/lib/python3.6/site-packages/django/core/management/__init__.py:131: in call_command
        return command.execute(*args, **defaults)
    elasticapm/utils/wrapt/wrappers.py:562: in __call__
        args, kwargs)
    elasticapm/instrumentation/packages/django/commands.py:44: in call_if_sampling
        app = apps.get_app_config("elasticapm.contrib.django")
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
                return self.app_configs[app_label]
            except KeyError:
                message = "No installed app with label '%s'." % app_label
                for app_config in self.get_app_configs():
                    if app_config.name == app_label:
                        message += " Did you mean '%s'?" % app_config.label
                        break
    >           raise LookupError(message)
    E           LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:156: LookupError 
    
Initializing / Test / Python-python-3.6-2 / test_settings_missing_secret_token_no_https – tests.contrib.django.django_tests
    Expand to view the error details

     LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'? 
    
    Expand to view the stacktrace

     self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
    >           return self.app_configs[app_label]
    E           KeyError: 'elasticapm.contrib.django'
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:149: KeyError
    
    During handling of the above exception, another exception occurred:
    
        def test_settings_missing_secret_token_no_https():
            stdout = compat.StringIO()
            with override_settings(ELASTIC_APM={"SERVER_URL": "http://foo"}):
    >           call_command("elasticapm", "check", stdout=stdout)
    
    tests/contrib/django/django_tests.py:1223: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    /home/user/.local/lib/python3.6/site-packages/django/core/management/__init__.py:131: in call_command
        return command.execute(*args, **defaults)
    elasticapm/utils/wrapt/wrappers.py:562: in __call__
        args, kwargs)
    elasticapm/instrumentation/packages/django/commands.py:44: in call_if_sampling
        app = apps.get_app_config("elasticapm.contrib.django")
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
                return self.app_configs[app_label]
            except KeyError:
                message = "No installed app with label '%s'." % app_label
                for app_config in self.get_app_configs():
                    if app_config.name == app_label:
                        message += " Did you mean '%s'?" % app_config.label
                        break
    >           raise LookupError(message)
    E           LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:156: LookupError 
    
Initializing / Test / Python-python-3.6-2 / test_settings_secret_token_https – tests.contrib.django.django_tests
    Expand to view the error details

     LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'? 
    
    Expand to view the stacktrace

     self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
    >           return self.app_configs[app_label]
    E           KeyError: 'elasticapm.contrib.django'
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:149: KeyError
    
    During handling of the above exception, another exception occurred:
    
        def test_settings_secret_token_https():
            stdout = compat.StringIO()
            with override_settings(ELASTIC_APM={"SECRET_TOKEN": "foo", "SERVER_URL": "https://foo"}):
    >           call_command("elasticapm", "check", stdout=stdout)
    
    tests/contrib/django/django_tests.py:1231: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    /home/user/.local/lib/python3.6/site-packages/django/core/management/__init__.py:131: in call_command
        return command.execute(*args, **defaults)
    elasticapm/utils/wrapt/wrappers.py:562: in __call__
        args, kwargs)
    elasticapm/instrumentation/packages/django/commands.py:44: in call_if_sampling
        app = apps.get_app_config("elasticapm.contrib.django")
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
                return self.app_configs[app_label]
            except KeyError:
                message = "No installed app with label '%s'." % app_label
                for app_config in self.get_app_configs():
                    if app_config.name == app_label:
                        message += " Did you mean '%s'?" % app_config.label
                        break
    >           raise LookupError(message)
    E           LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:156: LookupError 
    
Initializing / Test / Python-python-3.6-2 / test_middleware_not_set – tests.contrib.django.django_tests
    Expand to view the error details

     LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'? 
    
    Expand to view the stacktrace

     self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
    >           return self.app_configs[app_label]
    E           KeyError: 'elasticapm.contrib.django'
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:149: KeyError
    
    During handling of the above exception, another exception occurred:
    
        def test_middleware_not_set():
            stdout = compat.StringIO()
            with override_settings(**middleware_setting(django.VERSION, ())):
    >           call_command("elasticapm", "check", stdout=stdout)
    
    tests/contrib/django/django_tests.py:1239: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    /home/user/.local/lib/python3.6/site-packages/django/core/management/__init__.py:131: in call_command
        return command.execute(*args, **defaults)
    elasticapm/utils/wrapt/wrappers.py:562: in __call__
        args, kwargs)
    elasticapm/instrumentation/packages/django/commands.py:44: in call_if_sampling
        app = apps.get_app_config("elasticapm.contrib.django")
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
    self = <django.apps.registry.Apps object at 0x7f2a8aca3710>
    app_label = 'elasticapm.contrib.django'
    
        def get_app_config(self, app_label):
            """
            Imports applications and returns an app config for the given label.
        
            Raises LookupError if no application exists with this label.
            """
            self.check_apps_ready()
            try:
                return self.app_configs[app_label]
            except KeyError:
                message = "No installed app with label '%s'." % app_label
                for app_config in self.get_app_configs():
                    if app_config.name == app_label:
                        message += " Did you mean '%s'?" % app_config.label
                        break
    >           raise LookupError(message)
    E           LookupError: No installed app with label 'elasticapm.contrib.django'. Did you mean 'elasticapm'?
    
    /home/user/.local/lib/python3.6/site-packages/django/apps/registry.py:156: LookupError 
    

Steps errors 60

Expand to view the steps failures

Show only the first 10 steps failures

Restore files previously stashed
  • Took 0 min 0 sec . View more details here
  • Description: coverage-python-3.10-mysql_connector-newest
Restore files previously stashed
  • Took 0 min 0 sec . View more details here
  • Description: coverage-python-3.10-pymysql-newest
Restore files previously stashed
  • Took 0 min 0 sec . View more details here
  • Description: coverage-python-3.10-mysqlclient-newest
Restore files previously stashed
  • Took 0 min 0 sec . View more details here
  • Description: coverage-python-3.10-asyncpg-newest
Restore files previously stashed
  • Took 0 min 0 sec . View more details here
  • Description: coverage-python-3.10-tornado-newest
Restore files previously stashed
  • Took 0 min 0 sec . View more details here
  • Description: coverage-python-3.10-pymemcache-newest
Restore files previously stashed
  • Took 0 min 0 sec . View more details here
  • Description: coverage-python-3.10-prometheus_client-newest
Restore files previously stashed
  • Took 0 min 0 sec . View more details here
  • Description: coverage-python-3.10-sanic-newest
Archive the artifacts
  • Took 0 min 0 sec . View more details here
  • Description: [2022-02-08T16:44:37.417Z] Archiving artifacts Python-python-3.6-django-1.11 tests failed : hudson.
Error signal
  • Took 0 min 0 sec . View more details here
  • Description: Python-python-3.6-django-1.11 tests failed : hudson.AbortException: script returned exit code 2

:bug: Flaky test report

:grey_exclamation: There are test failures but not known flaky tests.

Expand to view the summary

Genuine test errors 134

:broken_heart: There are test failures but not known flaky tests, most likely a genuine test failure.

  • Name: Initializing / Test / Python-python-3.6-2 / test_user_info – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_user_info_raises_database_error – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_user_info_with_custom_user – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_user_info_with_custom_user_non_string_username – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_request_metrics_contrib_redirect – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_request_metrics_streaming – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_subcommand_not_known – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_settings_missing_secret_token_no_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_settings_secret_token_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_middleware_not_set – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_middleware_not_first – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_settings_server_url_default – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_settings_server_url_is_empty_string – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_settings_server_url_not_http_nor_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_settings_server_url_uppercase_http – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_settings_server_url_with_at – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_settings_server_url_with_credentials – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_django_1_10_uses_deprecated_MIDDLEWARE_CLASSES – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_test_exception – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-2 / test_test_exception_fails – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_user_info – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_user_info_raises_database_error – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_user_info_with_custom_user – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_user_info_with_custom_user_non_string_username – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_request_metrics_contrib_redirect – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_request_metrics_streaming – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_subcommand_not_known – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_settings_missing_secret_token_no_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_settings_secret_token_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_middleware_not_set – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_middleware_not_first – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_settings_server_url_default – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_settings_server_url_is_empty_string – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_settings_server_url_not_http_nor_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_settings_server_url_uppercase_http – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_settings_server_url_with_at – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_settings_server_url_with_credentials – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_test_exception – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-2 / test_test_exception_fails – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_user_info – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_user_info_raises_database_error – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_user_info_with_custom_user – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_user_info_with_custom_user_non_string_username – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_request_metrics_contrib_redirect – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_request_metrics_streaming – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_subcommand_not_known – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_settings_missing_secret_token_no_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_settings_secret_token_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_middleware_not_set – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_middleware_not_first – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_settings_server_url_default – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_settings_server_url_is_empty_string – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_settings_server_url_not_http_nor_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_settings_server_url_uppercase_http – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_settings_server_url_with_at – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_settings_server_url_with_credentials – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_test_exception – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-4 / test_test_exception_fails – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_user_info – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_user_info_raises_database_error – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_user_info_with_custom_user – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_user_info_with_custom_user_non_string_username – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_request_metrics_contrib_redirect – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_request_metrics_streaming – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_subcommand_not_known – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_settings_missing_secret_token_no_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_settings_secret_token_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_middleware_not_set – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_middleware_not_first – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_settings_server_url_default – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_settings_server_url_is_empty_string – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_settings_server_url_not_http_nor_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_settings_server_url_uppercase_http – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_settings_server_url_with_at – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_settings_server_url_with_credentials – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_test_exception – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-3 / test_test_exception_fails – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_user_info – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_user_info_raises_database_error – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_user_info_with_custom_user – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_user_info_with_custom_user_non_string_username – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_request_metrics_contrib_redirect – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_request_metrics_streaming – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_subcommand_not_known – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_settings_missing_secret_token_no_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_settings_secret_token_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_middleware_not_set – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_middleware_not_first – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_settings_server_url_default – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_settings_server_url_is_empty_string – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_settings_server_url_not_http_nor_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_settings_server_url_uppercase_http – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_settings_server_url_with_at – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_settings_server_url_with_credentials – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_test_exception – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.6-0 / test_test_exception_fails – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_user_info – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_user_info_raises_database_error – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_user_info_with_custom_user – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_user_info_with_custom_user_non_string_username – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_request_metrics_contrib_redirect – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_request_metrics_streaming – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_subcommand_not_known – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_settings_missing_secret_token_no_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_settings_secret_token_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_middleware_not_set – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_middleware_not_first – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_settings_server_url_default – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_settings_server_url_is_empty_string – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_settings_server_url_not_http_nor_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_settings_server_url_uppercase_http – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_settings_server_url_with_at – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_settings_server_url_with_credentials – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_test_exception – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-3 / test_test_exception_fails – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_user_info – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_user_info_raises_database_error – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_user_info_with_custom_user – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_user_info_with_custom_user_non_string_username – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_request_metrics_contrib_redirect – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_request_metrics_streaming – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_subcommand_not_known – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_settings_missing_secret_token_no_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_settings_secret_token_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_middleware_not_set – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_middleware_not_first – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_settings_server_url_default – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_settings_server_url_is_empty_string – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_settings_server_url_not_http_nor_https – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_settings_server_url_uppercase_http – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_settings_server_url_with_at – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_settings_server_url_with_credentials – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_test_exception – tests.contrib.django.django_tests
  • Name: Initializing / Test / Python-python-3.10-4 / test_test_exception_fails – tests.contrib.django.django_tests

:robot: GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

  • /test linters : Run the Python linters only.

  • /test full : Run the full matrix of tests.

  • /test benchmark : Run the APM Agent Python benchmarks tests.

  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

apmmachine avatar Apr 30 '20 14:04 apmmachine

:green_heart: Flaky test report

Tests succeeded.

Expand to view the summary

Test stats :test_tube:

Test Results
Failed 0
Passed 11407
Skipped 8638
Total 20045

apmmachine avatar Oct 27 '20 17:10 apmmachine