Skip to content
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

docs(tracer): snippets split, improved, and lint #1261

Merged
merged 28 commits into from
Jun 23, 2022

Conversation

heitorlessa
Copy link
Contributor

@heitorlessa heitorlessa commented Jun 23, 2022

Issue number: #1260 (older PR)

Summary

NOTE: Accidentally hit merge in previous PR after agreeing on approach. Reusing previous body.

Changes

Please provide a summary of what's being changed

This PR splits code snippets into a top-level examples folder. Formatting and linting (make lint) were adjusted to include examples folder. We also introduce cfn-lint within pre-commit hooks to selectively lint changed infra files within examples folder.

Convention

We'll keep all examples under examples folder. Each feature will have its own source code that match what's in the documentation, followed by one or more infrastructure as code customers could use in the future.

Example for Tracer

examples
└── tracer
    ├── cdk
    │   └── all_cdk_project_files, dependencies, etc.
    ├── sam
    │   └── template.yaml
    ├── src
    │   └── capture_lambda_handler.py
    └── terraform

Caveat

We need to ensure Lambda Powertools dependency/layer is used. In the case of Layers, we will need to upgrade the Layer version within examples as part of each release - @am29d your input is crucial here on the best way forward. Until Alex completes his Layer pipeline refactoring, we can build a workflow action to find/replace Layer ARN Version.

Another caveat is that cfn-lint dropped support for 3.6. We're using an official cfn-lint GitHub Actions as a workaround.

User experience

Please share what the user experience looks like before and after this change

Example of adding an invalid SAM template for a code snippet

image

Code quality example using our set of rules

image

Checklist

If your change doesn't seem to apply, please leave them unchecked.

Is this a breaking change?

RFC issue number:

Checklist:

  • Migration process documented
  • Implement warnings (if it can live side by side)

Acknowledgment

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.


View rendered docs/core/tracer.md

@pull-request-size pull-request-size bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Jun 23, 2022
@boring-cyborg boring-cyborg bot added documentation Improvements or additions to documentation github-actions Pull requests that update Github_actions code internal Maintenance changes labels Jun 23, 2022
* develop:
  chore: move to approach B for multiple IaC
  chore: add sam build gitignore
  docs(tracer): split and lint code snippets (aws-powertools#1260)
  fix(ci): quote prBody GH expr on_opened_pr
@pull-request-size pull-request-size bot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jun 23, 2022
@pull-request-size pull-request-size bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jun 23, 2022
@pull-request-size pull-request-size bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jun 23, 2022
@heitorlessa
Copy link
Contributor Author

Tracer finalized. Here's how the structure looks like for other examples - names match features in docs to ease discovery. Examples are now fully typed and improved too.

 tree examples
examples
└── tracer
    ├── sam
    │   └── template.yaml
    ├── src
    │   ├── capture_lambda_handler.py
    │   ├── capture_method.py
    │   ├── capture_method_async.py
    │   ├── capture_method_async_concurrency.py
    │   ├── capture_method_context_manager.py
    │   ├── capture_method_generators.py
    │   ├── disable_capture_error.py
    │   ├── disable_capture_response.py
    │   ├── disable_capture_response_streaming_body.py
    │   ├── ignore_endpoints.py
    │   ├── patch_modules.py
    │   ├── put_trace_annotations.py
    │   ├── put_trace_metadata.py
    │   ├── sdk_escape_hatch.py
    │   ├── tracer_reuse.py
    │   ├── tracer_reuse_payment.py
    │   └── tracing_aiohttp.py
    └── template.yaml

@heitorlessa heitorlessa changed the title docs(tracer): snippets split and linting docs(tracer): snippets split, improved, and lint Jun 23, 2022
@heitorlessa heitorlessa merged commit 159dcbb into aws-powertools:develop Jun 23, 2022
heitorlessa added a commit to heitorlessa/aws-lambda-powertools-python that referenced this pull request Jun 23, 2022
…tools-python into develop

* 'develop' of https://github.com/awslabs/aws-lambda-powertools-python:
  docs(tracer): snippets split, improved, and lint (aws-powertools#1261)
  fix(ci): merged_pr add issues write access
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation github-actions Pull requests that update Github_actions code internal Maintenance changes size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant