Comments (10)
Option C and A
packages/logging, packages/tracing, packages/metrics
Logger, Tracer, Metrics
These make it easier to import, same as Python, and easier on docs too ;)
Suuuuper excited and looking forward to this
from aws-lambda-powertools-typescript.
Sorry I read A too quickly and didn't see Meter in it --- tbh, I wouldn't be too worried about having Tracer, Logger, and Metrics --- there are going to be other exceptions as other utilities get created
from aws-lambda-powertools-typescript.
Personal preference is packages/logger, packages/tracer, packages/metrics
Semantics should come second to usability here IMO, and the added perk of being consistent with Python powertools
from aws-lambda-powertools-typescript.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
from aws-lambda-powertools-typescript.
@alan-churley @dreamorosi what's your thought on this one? Feel free to leave a comment with your preference
from aws-lambda-powertools-typescript.
I like C and A as well.
The package describes the action/service (logging
, tracing
, metrics
) while the class reads like "this is an instance of a Logger|Tracer|Meter
".
The problem with this is that currently the Python Powertools use Metrics
and not Meter
so we'd have to rename and this could cause confusion. A solution if we like this convention could be to have an alias only in Python and for historical reasons for a while so that we wouldn't break any customer implementation.
from aws-lambda-powertools-typescript.
Don't worry and agree with you about the exception. From a language point of view it makes sense for it to be different since contrary to logging and tracing it doesn't express a verb.
Happy to hear and discuss other opinions tho.
from aws-lambda-powertools-typescript.
from aws-lambda-powertools-typescript.
Without reading the previous comments, I'm in favor of Option C. I was initially for A, but "meter" sounds less clear to me than "metrics". Also "inch" vs. "meter" jokes. Not inclined for Option B, as those sound more like collections of utilities. I understand this to be more of a one class, that helps me do a bunch of things, rather than many functions (per package) that I can pick for various use cases.
Input from my team:
I think it depends on what the thing actually is. Logger sounds like a single class/module responsible for logging things, while Logging or Logs is rather a collection of such classes/modules.
After reading the comments above, I'm leaning towards a mix and match to whatever our customers are already used to. I'd prefer little cognitive complexity when switching back and forth between languages and their Lambda powertools.
Summary: Inclined towards making it easy for customers by staying consistent with other powertools libraries.
from aws-lambda-powertools-typescript.
⚠️ COMMENT VISIBILITY WARNING ⚠️
Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.
from aws-lambda-powertools-typescript.
Related Issues (20)
- Feature request: expand shared type utilities HOT 2
- Feature request: define grammar, errors, and types for JMESPath module HOT 2
- Docs: Describe removing `ContextExamples` in the migration doc HOT 3
- Feature request: support batching of AWS SDK calls with batch processor HOT 2
- Docs: typos in tracer docs HOT 1
- Maintenance: temporarily remove README from jsmespath typedoc HOT 1
- Feature request: add safeParse option HOT 3
- Feature request: JMESPath lexer HOT 1
- Feature request: JMESPath built-in functions HOT 2
- Feature request: JMESPath powertools functions HOT 2
- Feature request: JMESPath expression class and utilities HOT 2
- Feature request: JMESPath tree interpreter HOT 1
- Feature request: JMESPath abstract syntax tree (AST) HOT 2
- Feature request: JMESPath parser HOT 2
- Maintenance: drop support for Node.js 16 HOT 5
- Maintenance: v1 enters maintenance mode, scheduled end-of-life
- Maintenance: update versioning & banner for v2 release HOT 1
- Bug: private class fields transformed incorrectly in ESM HOT 2
- Bug: unable to use Lambda Layer with ESM bundles HOT 2
- Maintenance: remove a dependency to deprecated library `@aws-sdk/util-base64-node` HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aws-lambda-powertools-typescript.