OpenTelemetry Google Cloud Monitoring Exporter
==============================================
.. image:: https://badge.fury.io/py/opentelemetry-exporter-gcp-monitoring.svg
:target: https://badge.fury.io/py/opentelemetry-exporter-gcp-monitoring
.. image:: https://readthedocs.org/projects/google-cloud-opentelemetry/badge/?version=latest
:target: https://google-cloud-opentelemetry.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
This library provides support for exporting metrics to Google Cloud
Monitoring.
To get started with instrumentation in Google Cloud, see `Generate traces and metrics with
Python <https://cloud.google.com/stackdriver/docs/instrumentation/setup/python>`_.
To learn more about instrumentation and observability, including opinionated recommendations
for Google Cloud Observability, visit `Instrumentation and observability
<https://cloud.google.com/stackdriver/docs/instrumentation/overview>`_.
For resource detection and GCP trace context propagation, see
`opentelemetry-tools-google-cloud
<https://pypi.org/project/opentelemetry-tools-google-cloud/>`_. For the
Google Cloud Trace exporter, see `opentelemetry-exporter-gcp-trace
<https://pypi.org/project/opentelemetry-exporter-gcp-trace/>`_.
Installation
------------
.. code:: bash
pip install opentelemetry-exporter-gcp-monitoring
Usage
-----
.. code:: python
import time
from opentelemetry import metrics
from opentelemetry.exporter.cloud_monitoring import (
CloudMonitoringMetricsExporter,
)
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader
from opentelemetry.sdk.resources import Resource
metrics.set_meter_provider(
MeterProvider(
metric_readers=[
PeriodicExportingMetricReader(
CloudMonitoringMetricsExporter(), export_interval_millis=5000
)
],
resource=Resource.create(
{
"service.name": "basic_metrics",
"service.namespace": "examples",
"service.instance.id": "instance123",
}
),
)
)
meter = metrics.get_meter(__name__)
# Creates metric workload.googleapis.com/request_counter with monitored resource generic_task
requests_counter = meter.create_counter(
name="request_counter",
description="number of requests",
unit="1",
)
staging_labels = {"environment": "staging"}
for i in range(20):
requests_counter.add(25, staging_labels)
time.sleep(5)
References
----------
* `Cloud Monitoring <https://cloud.google.com/monitoring>`_
* `OpenTelemetry Project <https://opentelemetry.io/>`_
Raw data
{
"_id": null,
"home_page": "https://github.com/GoogleCloudPlatform/opentelemetry-operations-python/tree/main/opentelemetry-exporter-gcp-monitoring",
"name": "opentelemetry-exporter-gcp-monitoring",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Google",
"author_email": "opentelemetry-pypi@google.com",
"download_url": "https://files.pythonhosted.org/packages/03/f1/4bdab0725b6c58abc8dcbfc0eabba9f86bd2369c9bc7354e387b34ced58b/opentelemetry_exporter_gcp_monitoring-1.8.0a0.tar.gz",
"platform": "any",
"description": "OpenTelemetry Google Cloud Monitoring Exporter\n==============================================\n\n.. image:: https://badge.fury.io/py/opentelemetry-exporter-gcp-monitoring.svg\n :target: https://badge.fury.io/py/opentelemetry-exporter-gcp-monitoring\n\n.. image:: https://readthedocs.org/projects/google-cloud-opentelemetry/badge/?version=latest\n :target: https://google-cloud-opentelemetry.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\nThis library provides support for exporting metrics to Google Cloud\nMonitoring.\n\nTo get started with instrumentation in Google Cloud, see `Generate traces and metrics with\nPython <https://cloud.google.com/stackdriver/docs/instrumentation/setup/python>`_.\n\nTo learn more about instrumentation and observability, including opinionated recommendations\nfor Google Cloud Observability, visit `Instrumentation and observability\n<https://cloud.google.com/stackdriver/docs/instrumentation/overview>`_.\n\nFor resource detection and GCP trace context propagation, see\n`opentelemetry-tools-google-cloud\n<https://pypi.org/project/opentelemetry-tools-google-cloud/>`_. For the\nGoogle Cloud Trace exporter, see `opentelemetry-exporter-gcp-trace\n<https://pypi.org/project/opentelemetry-exporter-gcp-trace/>`_.\n\nInstallation\n------------\n\n.. code:: bash\n\n pip install opentelemetry-exporter-gcp-monitoring\n\nUsage\n-----\n\n.. code:: python\n\n import time\n\n from opentelemetry import metrics\n from opentelemetry.exporter.cloud_monitoring import (\n CloudMonitoringMetricsExporter,\n )\n from opentelemetry.sdk.metrics import MeterProvider\n from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader\n from opentelemetry.sdk.resources import Resource\n\n metrics.set_meter_provider(\n MeterProvider(\n metric_readers=[\n PeriodicExportingMetricReader(\n CloudMonitoringMetricsExporter(), export_interval_millis=5000\n )\n ],\n resource=Resource.create(\n {\n \"service.name\": \"basic_metrics\",\n \"service.namespace\": \"examples\",\n \"service.instance.id\": \"instance123\",\n }\n ),\n )\n )\n meter = metrics.get_meter(__name__)\n\n # Creates metric workload.googleapis.com/request_counter with monitored resource generic_task\n requests_counter = meter.create_counter(\n name=\"request_counter\",\n description=\"number of requests\",\n unit=\"1\",\n )\n\n staging_labels = {\"environment\": \"staging\"}\n\n for i in range(20):\n requests_counter.add(25, staging_labels)\n time.sleep(5)\n\n\nReferences\n----------\n\n* `Cloud Monitoring <https://cloud.google.com/monitoring>`_\n* `OpenTelemetry Project <https://opentelemetry.io/>`_\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Google Cloud Monitoring exporter for OpenTelemetry",
"version": "1.8.0a0",
"project_urls": {
"Homepage": "https://github.com/GoogleCloudPlatform/opentelemetry-operations-python/tree/main/opentelemetry-exporter-gcp-monitoring"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "455f37ca03e0c774c4065889b10c9aa6eee49f2d57fb05eef1bef9a645b62cf5",
"md5": "f874f4f13e5d0a28a0e33bd1ab1820dd",
"sha256": "485904c02974b8ddbcac324675128aaddf7e19ddd23848bf63dd8e62a549b91c"
},
"downloads": -1,
"filename": "opentelemetry_exporter_gcp_monitoring-1.8.0a0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f874f4f13e5d0a28a0e33bd1ab1820dd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 13091,
"upload_time": "2025-01-08T19:38:52",
"upload_time_iso_8601": "2025-01-08T19:38:52.089004Z",
"url": "https://files.pythonhosted.org/packages/45/5f/37ca03e0c774c4065889b10c9aa6eee49f2d57fb05eef1bef9a645b62cf5/opentelemetry_exporter_gcp_monitoring-1.8.0a0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "03f14bdab0725b6c58abc8dcbfc0eabba9f86bd2369c9bc7354e387b34ced58b",
"md5": "0045ac91566bd2f5dce77f6131a262ff",
"sha256": "4ea61d1f039e36cd0262cb7aa2fae1a8fcc250eec857e0a1f0ce831d6f1c164c"
},
"downloads": -1,
"filename": "opentelemetry_exporter_gcp_monitoring-1.8.0a0.tar.gz",
"has_sig": false,
"md5_digest": "0045ac91566bd2f5dce77f6131a262ff",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 20011,
"upload_time": "2025-01-08T19:38:59",
"upload_time_iso_8601": "2025-01-08T19:38:59.799687Z",
"url": "https://files.pythonhosted.org/packages/03/f1/4bdab0725b6c58abc8dcbfc0eabba9f86bd2369c9bc7354e387b34ced58b/opentelemetry_exporter_gcp_monitoring-1.8.0a0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-08 19:38:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "GoogleCloudPlatform",
"github_project": "opentelemetry-operations-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "opentelemetry-exporter-gcp-monitoring"
}