Skip to main content

New Relic OpenTelemetry 导出器

项目描述

标题

新的 Relic OpenTelemetry Python 导出器

一个 OpenTelemetry 导出器,用于使用 New Relic Python Telemetry SDK 将 span 发送到 New Relic。目前,支持从 OpenTelemetry v0.15b0 开始的跨度。有关如何将 OpenTelemetry 数据映射到 New Relic 数据的详细信息,请参阅我们的导出器规范文档中的文档

安装

首先,必须安装opentelemetry-ext-newrelic包。通过 pip 安装:

$ pip install opentelemetry-ext-newrelic

如果失败,请从其 GitHub 页面下载该库并使用以下命令安装它:

$ python setup.py install

入门

为了使用导出器,您需要 使用Insights Insert API Key设置NEW_RELIC_INSERT_KEY环境变量。

使用跨度导出器

以下代码示例假定您已设置 NEW_RELIC_INSERT_KEY环境变量并安装了以下软件包:

  • opentelemetry-ext-newrelic

import os
from opentelemetry import trace
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.trace.export import BatchExportSpanProcessor
from opentelemetry_ext_newrelic import NewRelicSpanExporter
from opentelemetry.sdk.trace import TracerProvider

trace.set_tracer_provider(
    TracerProvider(resource=Resource.create({"service.name": "otel-python"}))
)

trace.get_tracer_provider().add_span_processor(
    BatchExportSpanProcessor(
        NewRelicSpanExporter(
            os.environ["NEW_RELIC_INSERT_KEY"],
        ),
        schedule_delay_millis=500,
    )
)

tracer = trace.get_tracer(__name__)
with tracer.start_as_current_span("foo"):
    with tracer.start_as_current_span("bar"):
        print("Hello World from OpenTelemetry Python!")

使用带有自动仪表的跨度导出器

以下代码示例假定您已设置 NEW_RELIC_INSERT_KEY环境变量并安装了以下软件包:

  • opentelemetry-ext-newrelic

  • opentelemetry-instrumentation-flask

  • 烧瓶

import os
from opentelemetry import trace
from opentelemetry.instrumentation.flask import FlaskInstrumentor
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchExportSpanProcessor
from opentelemetry_ext_newrelic import NewRelicSpanExporter
from flask import Flask
app = Flask(__name__)
FlaskInstrumentor().instrument_app(app)
trace.set_tracer_provider(
    TracerProvider(resource=Resource.create({"service.name": "otel-python-flask"}))
)

trace.get_tracer_provider().add_span_processor(
    BatchExportSpanProcessor(
        NewRelicSpanExporter(os.environ["NEW_RELIC_INSERT_KEY"]),
        schedule_delay_millis=500,
    )
)

@app.route("/")
def hello_world():
    return "Hello World!"

@app.route("/error")
def raise_500():
    raise RuntimeError("Something happened!")

if __name__ == "__main__":
    app.run(port=8080)

查找和使用您的数据

有关如何在 New Relic 中查找和查询数据的提示,请参阅查找跟踪/跨度数据

有关一般查询信息,请参阅: -查询 New Relic 数据 - NRQL 简介

支持

New Relic 主持和主持一个在线论坛,客户可以在其中与 New Relic 员工以及其他客户互动,以获得帮助并分享最佳实践。与所有官方 New Relic 开源项目一样,New Relic Explorers Hub 中有一个相关的社区主题。您可以在此处找到该项目的主题/主题:

支持渠道

贡献

我们鼓励您为改进 opentelemetry-exporter-python 做出贡献!请记住,当您提交拉取请求时,您需要使用 CLA-Assistant 通过点击签署 CLA。每个项目您只需签署一次 CLA。如果您有任何问题,或执行我们的公司 CLA,如果您的贡献是代表公司,请给我们发送电子邮件至 opensource @ newrelic com

关于漏洞的说明

正如我们的安全政策所述,New Relic 致力于保护我们客户及其数据的隐私和安全。我们认为,由安全研究人员提供协调披露并与安全社区互动是实现我们安全目标的重要手段。

如果您认为您在此项目或 New Relic 的任何产品或网站中发现了安全漏洞,我们欢迎并非常感谢您通过HackerOne向 New Relic 报告。

执照

opentelemetry-exporter-python 在Apache 2.0许可下获得许可。

限制

New Relic Telemetry API 是速率受限的。请参考文档以了解有关速率限制细节的New Relic Trace API 要求和 限制。

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

opentelemetry-ext-newrelic-0.1.1.tar.gz (20.4 kB 查看哈希

已上传 source

内置分布

opentelemetry_ext_newrelic-0.1.1-py3-none-any.whl (10.3 kB 查看哈希

已上传 py3