Giter VIP home page Giter VIP logo

Comments (10)

heitorlessa avatar heitorlessa commented on September 26, 2024 1

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.

heitorlessa avatar heitorlessa commented on September 26, 2024 1

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.

simontabor avatar simontabor commented on September 26, 2024 1

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.

stale avatar stale commented on September 26, 2024

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.

saragerion avatar saragerion commented on September 26, 2024

@alan-churley @dreamorosi what's your thought on this one? Feel free to leave a comment with your preference

from aws-lambda-powertools-typescript.

dreamorosi avatar dreamorosi commented on September 26, 2024

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.

dreamorosi avatar dreamorosi commented on September 26, 2024

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.

heitorlessa avatar heitorlessa commented on September 26, 2024

from aws-lambda-powertools-typescript.

bahrmichael avatar bahrmichael commented on September 26, 2024

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.

github-actions avatar github-actions commented on September 26, 2024

⚠️ 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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.