nervous-systems/cljs-lambda

Tracing config support

zrzka opened this issue · 2 comments

zrzka commented

There's new switch in the awscli for update-function-configuration:

       --tracing-config (structure)
          The parent object that contains your function's tracing settings.

       Shorthand Syntax:

          Mode=string

       JSON Syntax:

          {
            "Mode": "Active"|"PassThrough"
          }

It's AWS X-Ray related and I would like to add support for it. Proposal is:

:defaults {:tracing :active}
  • :tracing can be used in :defaults and per lambda function
  • :tracing values can be :active or :passthrough
  • If :tracing is not provided, it defaults to :passthrough

It defaults to :passthrough, because it's a default value for all AWS Lambda functions (checked via awscli).

Okay?

moea commented

Yeah, that's fine. If it's possible to not emit a CLI arg in the case that the config doesn't specify :tracing, that would relax the requirement that all users have to update their CLI. Not the end of the world either way.

zrzka commented

I already did it here: https://github.com/zrzka/cljs-lambda/tree/tracing

I understand your issue with not emitting --tracing-config when it's not specified, but on the other side, it will create synchronization & comparison mess in local vs remote comparison -> fire or not fire update-function-configuration. I'd rather fire it always. This is the same issue as it was with VPC, devs were forced to update awscli to use VPC. I don't see it as an issue, but your project, decide ;-)