Skip to content

ASGI - Starlette/Fast API Framework #5

Closed
@rr0214

Description

@rr0214

Overview:

Starlette is a lightweight ASGI framework/toolkit, which is ideal for building high performance asyncio services. It supports both HTTP and WebSockets. With over 500K downloads a month, it is growing rapidly in popularity: https://pypistats.org/packages/starlette

Currently, customers will not see see data in NR when monitoring their Starlette ASGI application. This MMF addresses this, giving those customers visibility their transactions and downstream services.

The key is to show transactions data and ensure they can also view those transactions are viewable in DT.

Acceptance Criteria:

  • Extract and send web-transaction events (start/end time) for http requests (not web sockets since they do not create transactions, since this can cause memory explosion for long-running transactions)

  • Attach appropriate attributes to those events i.e.

    • number of bytes on output automatically captured
    • Request headers automatically captured
    • Request method
    • Request URI
    • Response headers
    • Response status
  • Send span event data / trace id? (goal here to to ensure those transactions translate to a span and there is an id that is passed from the transaction to the external service so we can track them in DT view.

  • Add to New Relic docs and website that we offer Starlette support

  • Units Tests

  • Demo

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions