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

define createLogger API #3286

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

define createLogger API #3286

wants to merge 1 commit into from

Conversation

eloytoro
Copy link

Motivation

As of today there's no easy way to send RUM errors or actions that share the same tags, this is something that makes a lot of sense if you wish to define scopes for your application that all share the same information.

Changes

Introduce a new API that allows to specify a context to all addError and addAction calls from it

{
  // ... rum public api methods
  createReporter: (component: string, conf?: ReporterConfiguration) => Reporter
  // ...
}
export interface Reporter {
  addAction: RumPublicApi['addAction']
  addError: RumPublicApi['addError']
}
export interface ReporterConfiguration {
  context?: object
}

This new createReporter method returns an object that has the addError and addAction methods that will add the context supplied to the reporter to any events sent from them

const reporter = createReporter('MyComponent', {
  context: { team: 'datadog' }
})

reporter.addError(new Error()) // will have context.team:datadog

Testing

Unit tests were defined

@eloytoro eloytoro force-pushed the eloytoro/create-logger-api branch from c292f3e to c9898cb Compare January 15, 2025 08:29
@codecov-commenter
Copy link

Codecov Report

Attention: Patch coverage is 60.86957% with 9 lines in your changes missing coverage. Please review.

Project coverage is 93.58%. Comparing base (4623045) to head (c9898cb).

Files with missing lines Patch % Lines
packages/rum-core/src/boot/rumPublicApi.ts 60.86% 9 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3286      +/-   ##
==========================================
- Coverage   93.68%   93.58%   -0.10%     
==========================================
  Files         288      288              
  Lines        7611     7634      +23     
  Branches     1735     1738       +3     
==========================================
+ Hits         7130     7144      +14     
- Misses        481      490       +9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

Bundles Sizes Evolution

📦 Bundle Name Base Size Local Size 𝚫 𝚫% Status
Rum 145.29 KiB 145.91 KiB 634 B +0.43%
Logs 51.09 KiB 51.09 KiB 0 B 0.00%
Rum Slim 104.08 KiB 104.61 KiB 536 B +0.50%
Worker 24.50 KiB 24.50 KiB 0 B 0.00%
🚀 CPU Performance
Action Name Base Average Cpu Time (ms) Local Average Cpu Time (ms) 𝚫
addglobalcontext 0.002 0.002 -0.000
addaction 0.052 0.035 -0.017
addtiming 0.001 0.001 0.000
adderror 0.089 0.047 -0.042
startstopsessionreplayrecording 0.012 0.011 -0.001
startview 0.454 0.498 0.044
logmessage 0.026 0.021 -0.005
🧠 Memory Performance
Action Name Base Consumption Memory (bytes) Local Consumption Memory (bytes) 𝚫 (bytes)
addglobalcontext 27.43 KiB 27.84 KiB 414 B
addaction 53.85 KiB 56.10 KiB 2.25 KiB
addtiming 25.98 KiB 26.84 KiB 877 B
adderror 59.66 KiB 60.84 KiB 1.17 KiB
startstopsessionreplayrecording 25.93 KiB 26.33 KiB 414 B
startview 413.10 KiB 418.59 KiB 5.49 KiB
logmessage 59.05 KiB 58.92 KiB -133 B

🔗 RealWorld

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.

2 participants