diff --git a/.github/actions/lint_n_test/action.yml b/.github/actions/lint_n_test/action.yml index 9c14bb0..a9b1c33 100644 --- a/.github/actions/lint_n_test/action.yml +++ b/.github/actions/lint_n_test/action.yml @@ -14,7 +14,7 @@ runs: using: composite steps: - name: Set up Python ${{ inputs.python_version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ inputs.python_version }} check-latest: true @@ -40,7 +40,7 @@ runs: run: python -m pydocstyle shell: bash - name: Execute Unit Tests - run: python -m unittest discover + run: python -m unittest discover -s ./test* shell: bash - name: Check Version Updated in setup.py Before Merging if: ${{ github.event_name == 'pull_request' }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4f20345..9e8d3f2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,10 +30,10 @@ jobs: # TODO: Enable Windows and macos # https://jira.eng.vmware.com/browse/MONIT-30833 os: [ubuntu-latest] # , macos-latest, windows-latest] - python_version: ['3.8', '3.9', '3.10', '3.11'] + python_version: ['3.10', '3.11', '3.12', '3.13'] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: wavefrontHQ/wavefront-sdk-python/.github/actions/lint_n_test@master diff --git a/.github/workflows/on_merge.yml b/.github/workflows/on_merge.yml index 952d292..f99392e 100644 --- a/.github/workflows/on_merge.yml +++ b/.github/workflows/on_merge.yml @@ -24,7 +24,7 @@ jobs: PKG_REQS: ${{ inputs.requirements || needs.env0.outputs.requirements }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: wavefrontHQ/wavefront-sdk-python/.github/actions/lint_n_test@master diff --git a/.github/workflows/on_release.yml b/.github/workflows/on_release.yml index 925b4ee..164a4d2 100644 --- a/.github/workflows/on_release.yml +++ b/.github/workflows/on_release.yml @@ -24,7 +24,7 @@ jobs: PKG_REQS: ${{ inputs.requirements || needs.env0.outputs.requirements }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: wavefrontHQ/wavefront-sdk-python/.github/actions/lint_n_test@master diff --git a/setup.py b/setup.py index e3236cb..6d43714 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ setuptools.setup( name='wavefront-sdk-python', - version='2.1.0', # Please update with each pull request. + version='2.1.1', # Please update with each pull request. author='VMware Aria Operations for Applications Team', url='https://github.com/wavefrontHQ/wavefront-sdk-python', license='Apache-2.0', diff --git a/wavefront_sdk/client.py b/wavefront_sdk/client.py index 35ba9c0..26ef7db 100644 --- a/wavefront_sdk/client.py +++ b/wavefront_sdk/client.py @@ -56,7 +56,8 @@ class WavefrontClient(connection_handler.ConnectionHandler, def __init__(self, server, token, max_queue_size=50000, batch_size=10000, flush_interval_seconds=5, enable_internal_metrics=True, queue_impl=queue.Queue): - # pylint: disable=too-many-arguments,too-many-statements + # pylint: disable=too-many-arguments,too-many-positional-arguments + # pylint: disable=too-many-statements """Construct Direct Client. @param server: Server address, @@ -335,7 +336,7 @@ def close(self): self._sdk_metrics_registry.close(timeout_secs=1) def send_metric(self, name, value, timestamp, source, tags): - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments """Send Metric Data via proxy/direct ingestion client. Wavefront Metrics Data format @@ -382,7 +383,7 @@ def send_metric_now(self, metrics): def send_distribution(self, name, centroids, histogram_granularities, timestamp, source, tags): - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments """Send Distribution Data via proxy/direct ingestion client. Wavefront Histogram Data format @@ -433,7 +434,7 @@ def send_distribution_now(self, distributions): def send_span(self, name, start_millis, duration_millis, source, trace_id, span_id, parents, follows_from, tags, span_logs): - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments """Send span data via proxy/direct ingestion client. Wavefront Tracing Span Data format @@ -521,7 +522,7 @@ def send_span_log_now(self, span_logs): def send_event(self, name, start_time, end_time, source, tags, annotations): - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments """Send Event Data via proxy/direct ingestion client. Wavefront Event Data format diff --git a/wavefront_sdk/client_factory.py b/wavefront_sdk/client_factory.py index 18fd89a..20f7ee3 100644 --- a/wavefront_sdk/client_factory.py +++ b/wavefront_sdk/client_factory.py @@ -31,7 +31,8 @@ def __init__(self): """Keep track of initialized clients on instance level.""" self.clients = [] - # pylint: disable=too-many-arguments,too-many-locals + # pylint: disable=too-many-arguments,too-many-positional-arguments + # pylint: disable=too-many-locals def add_client(self, url, max_queue_size=50000, batch_size=10000, flush_interval_seconds=5, enable_internal_metrics=True, queue_impl=queue.Queue, diff --git a/wavefront_sdk/common/application_tags.py b/wavefront_sdk/common/application_tags.py index 42531af..063d56d 100644 --- a/wavefront_sdk/common/application_tags.py +++ b/wavefront_sdk/common/application_tags.py @@ -16,7 +16,7 @@ class ApplicationTags(object): """Metadata about your application represented as tags in Wavefront.""" - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def __init__(self, application, service, cluster=None, shard=None, custom_tags=None): """Construct ApplicationTags. diff --git a/wavefront_sdk/common/heartbeater_service.py b/wavefront_sdk/common/heartbeater_service.py index 07adf24..1494dfe 100644 --- a/wavefront_sdk/common/heartbeater_service.py +++ b/wavefront_sdk/common/heartbeater_service.py @@ -24,7 +24,7 @@ class HeartbeaterService(object): """Service that periodically reports component heartbeats to Wavefront.""" - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def __init__(self, wavefront_client, application_tags, components, source): """Construct HeartbeaterService. diff --git a/wavefront_sdk/common/metrics/registry.py b/wavefront_sdk/common/metrics/registry.py index 9aee428..51a013c 100644 --- a/wavefront_sdk/common/metrics/registry.py +++ b/wavefront_sdk/common/metrics/registry.py @@ -15,7 +15,7 @@ class WavefrontSdkMetricsRegistry(object): """Wavefront SDK Metrics Registry.""" - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def __init__(self, wf_metric_sender, source=None, tags=None, prefix=None, reporting_interval_secs=60): """Construct Wavefront SDK Metrics Registry.""" diff --git a/wavefront_sdk/common/proxy_connection_handler.py b/wavefront_sdk/common/proxy_connection_handler.py index 6657d5a..799402f 100644 --- a/wavefront_sdk/common/proxy_connection_handler.py +++ b/wavefront_sdk/common/proxy_connection_handler.py @@ -17,7 +17,7 @@ class ProxyConnectionHandler(connection_handler.ConnectionHandler): For sending data to a Wavefront proxy listening on a given port. """ - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def __init__(self, address, port, wavefront_sdk_metrics_registry, entity_prefix=None, timeout=None): """Construct ProxyConnectionHandler. diff --git a/wavefront_sdk/common/utils.py b/wavefront_sdk/common/utils.py index 3115a32..0808cde 100644 --- a/wavefront_sdk/common/utils.py +++ b/wavefront_sdk/common/utils.py @@ -191,7 +191,7 @@ def validate_annotations(annotations): + key) -# pylint: disable=too-many-arguments +# pylint: disable=too-many-arguments,too-many-positional-arguments def metric_to_line_data(name, value, timestamp, source, tags, default_source): """Metric Data to String. diff --git a/wavefront_sdk/direct.py b/wavefront_sdk/direct.py index a29c2a0..07c4b17 100644 --- a/wavefront_sdk/direct.py +++ b/wavefront_sdk/direct.py @@ -46,7 +46,7 @@ class WavefrontDirectClient(connection_handler.ConnectionHandler, EVENT_END_POINT = '/api/v2/event' HTTP_TIMEOUT = 60.0 - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments # pylint: disable=too-many-statements def __init__(self, @@ -465,7 +465,7 @@ def send_distribution_now(self, distributions): 'histograms', self._histograms_report_errors, self._histograms_buffer, self._histograms_dropped) - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def send_span(self, name, start_millis, duration_millis, source, trace_id, span_id, parents, follows_from, tags, span_logs): diff --git a/wavefront_sdk/entities/event/sender.py b/wavefront_sdk/entities/event/sender.py index 693fc5c..beafbc1 100644 --- a/wavefront_sdk/entities/event/sender.py +++ b/wavefront_sdk/entities/event/sender.py @@ -8,7 +8,7 @@ class WavefrontEventSender(object): """Interface of Event Sender for both clients.""" - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def send_event(self, name, start_time, end_time, source, tags, annotations): """Send Event Data. diff --git a/wavefront_sdk/entities/histogram/sender.py b/wavefront_sdk/entities/histogram/sender.py index ec0e6f6..c9fa68d 100644 --- a/wavefront_sdk/entities/histogram/sender.py +++ b/wavefront_sdk/entities/histogram/sender.py @@ -8,7 +8,7 @@ class WavefrontHistogramSender(object): """Interface of Histogram Sender for both clients.""" - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def send_distribution(self, name, centroids, histogram_granularities, timestamp, source, tags): """Send Distribution Data. diff --git a/wavefront_sdk/entities/metrics/sender.py b/wavefront_sdk/entities/metrics/sender.py index e5a776b..39da84a 100644 --- a/wavefront_sdk/entities/metrics/sender.py +++ b/wavefront_sdk/entities/metrics/sender.py @@ -15,7 +15,7 @@ class WavefrontMetricSender(object): # Δ: GREEK CAPITAL LETTER DELTA DELTA_PREFIX_2 = 'Δ' # '\u0394' - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def send_metric(self, name, value, timestamp, source, tags): """Send Metric Data. diff --git a/wavefront_sdk/entities/tracing/sender.py b/wavefront_sdk/entities/tracing/sender.py index c21cf2d..8eb36a2 100644 --- a/wavefront_sdk/entities/tracing/sender.py +++ b/wavefront_sdk/entities/tracing/sender.py @@ -8,7 +8,7 @@ class WavefrontTracingSpanSender(object): """Tracing Span Sender Interface for both Clients.""" - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def send_span(self, name, start_millis, duration_millis, source, trace_id, span_id, parents, follows_from, tags, span_logs): """Send span data via proxy. diff --git a/wavefront_sdk/multi_clients.py b/wavefront_sdk/multi_clients.py index e091477..352e8b2 100644 --- a/wavefront_sdk/multi_clients.py +++ b/wavefront_sdk/multi_clients.py @@ -25,7 +25,7 @@ def with_wavefront_sender(self, client): """ self.senders[client.server] = client - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def send_metric(self, name, value, timestamp, source, tags): """Send Metric Data via direct ingestion client. @@ -60,7 +60,7 @@ def send_metric_now(self, metrics): for client in self.senders.values(): client.send_metric_now(metrics) - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def send_distribution(self, name, centroids, histogram_granularities, timestamp, source, tags): """Send Distribution Data via direct ingestion client. @@ -100,7 +100,7 @@ def send_distribution_now(self, distributions): for client in self.senders.values(): client.send_distribution_now(distributions) - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def send_span(self, name, start_millis, duration_millis, source, trace_id, span_id, parents, follows_from, tags, span_logs): """Send span data via direct ingestion client. diff --git a/wavefront_sdk/proxy.py b/wavefront_sdk/proxy.py index 7a578bb..abdf35d 100644 --- a/wavefront_sdk/proxy.py +++ b/wavefront_sdk/proxy.py @@ -30,7 +30,7 @@ class WavefrontProxyClient(entities.WavefrontMetricSender, when exceptions are thrown from any methods. """ - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def __init__(self, host, metrics_port, distribution_port, tracing_port, event_port=None, timeout=None, enable_internal_metrics=True): """Construct Proxy Client. @@ -292,7 +292,7 @@ def send_distribution_now(self, distributions): .increment_failure_count()) raise error - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def send_span(self, name, start_millis, duration_millis, source, trace_id, span_id, parents, follows_from, tags, span_logs): """Send span data via proxy.