Skip to content

Alexgallotta/svls 5285 lwa proxy #431

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 29 commits into from

Conversation

alexgallotta
Copy link
Contributor

No description provided.

duncanista and others added 22 commits August 26, 2024 17:18
* remove `hello_agent.rs`

in favor of a later agent

* create the `LifecycleListener`

agent in charge of listening to lambda-library/tracer events, moved the `hello_agent` handler here

* fmt
…ion into jordan.gonzalez/bottlecap/universal-instrumentation
…ion into jordan.gonzalez/bottlecap/universal-instrumentation
…ion into jordan.gonzalez/bottlecap/universal-instrumentation
…ion into jordan.gonzalez/bottlecap/universal-instrumentation
* decouple `hyper` from `trace_processor`

* add `handle_traces`

* fix tests

* removed unused import

* move `invocation_context` to `invocation::context` module

also added some more fields and refactored it

* add `new` and `get_sender_copy` to `trace_agent`

* add `get_canonical_resource_name` to `tags_provider`

* add `get_function_name` to `lambda::tags`

* add `MS_TO_NS` constant

* add `invocation::processor`

* update use of `invocation::context`

* make `lifecycle::listener` to use `invocation::processor`

* use `invocation::processor` in `main.rs`

* move `MS_TO_NS` to `invocation::processor`

* remove unnecessary constant

* add `Box::new` back to `trace_agent`

* add some comments

* add unit tests for `context.rs`

* use `on_invocation_start`

* rename `lambda_library_detected` to `tracer_detected`

* fmt

* remove `current_request_id`

I think we dont need it

* add comment

* fmt
* add `thiserror` and `lazystatic`

* add Span/Trace `context`

* update `mod.rs`

* add `propagation` module

* add `propagation::Error`

* add interface for `carrier` and `HashMap` implementation

* add `text_map_propagator`

added `Datadog` and `Tracecontext` implementations

* update `LICENSE-3rdparty.yml`
…TTP spans (#405)

* add `Trigger` trait for inferred spans

* add `ApiGatewayHttpEvent` trigger

* add `SpanInferrer`

* make `invocation::processor` to use `SpanInferrer`

* send `aws_config` to `invocation::processor`

* use incoming payload for `invocation::processor` for span inferring

* add `api_gateway_http_event.json` for testing

* add `api_gateway_proxy_event.json` for testing

* fix: Convert tag hashmap to sorted vector of tags

* fix: fmt

---------

Co-authored-by: AJ Stuyvenberg <[email protected]>
* feat: support APIGW v1

* feat: Tests for unparameterized payload working

* feat: parameterized test

* fix: specs

* fix: unwrap_or_default, route has no http verb but is parameterized.

* fix: lint

* fix: Remove debugs, consolidate import

* fix: oneline
* add `trace_propagation_style.rs`

* add Trace Propagation to `config.rs`

also updated unit tests, as we have custom behavior, we should check only the fields we care about in the tests

* add `links` to `SpanContext`

* add composite propagator

also known as our internal http propagator, but in reality, http doesnt make any sense to me, its just a composite propagator which we used based on our configuration

* update `TextMapPropagator`s to comply with interface

also updated the naming

* fmt

* add unit testing for `config.rs`

* add `PartialEq` to `SpanContext`

* correct logic from `text_map_propagator.rs`

logic was wrong in some parts, this was discovered through unit tests

* add unit tests for `DatadogCompositePropagator`

also corrected some logic
* headers `HeaderMap` to `HashMap`

* add `Send` to propagators traits

* add `serde_json::Value` extractor + injector

* add `get_carrier` to `Trigger` trait

* add `get_carrier` method to current inferred spans

* update `span_inferrer.rs` to use `get_carrier` methods for distributed tracing

* add `headers_to_map` function

* reparent spans

I suspect there might be something wrong here, the code in Go is quite convoluted

* make some variables public

* fix to return early on `extract_span_context`

* fix how 128 bit is handled

also updated some variable names

* update comment
change address parsing
@alexgallotta alexgallotta force-pushed the alexgallotta/SVLS-5285-lwa-proxy branch from 7ab2bd9 to 666bbe5 Compare October 29, 2024 17:28
@duncanista duncanista force-pushed the jordan.gonzalez/bottlecap/universal-instrumentation branch from dca2dd1 to b52e738 Compare November 15, 2024 19:55
Base automatically changed from jordan.gonzalez/bottlecap/universal-instrumentation to main November 19, 2024 20:23
@alexgallotta alexgallotta force-pushed the alexgallotta/SVLS-5285-lwa-proxy branch from 20b65ab to acb5f00 Compare March 5, 2025 19:00
@alexgallotta alexgallotta deleted the alexgallotta/SVLS-5285-lwa-proxy branch March 26, 2025 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants