@tramvai/module-application-monitoring 7.29.0 → 7.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/browser.js CHANGED
@@ -1,11 +1,61 @@
1
- import { declareModule } from '@tramvai/core';
2
- import { sharedProviders } from './sharedProviders.browser.js';
1
+ import { declareModule, provide, commandLineListTokens, TRAMVAI_HOOKS_TOKEN } from '@tramvai/core';
2
+ import { LOGGER_TOKEN } from '@tramvai/module-common';
3
+ import { LOGGER_NAME } from './constants.browser.js';
3
4
  export { INLINE_REPORTER_FACTORY_SCRIPT_TOKEN, INLINE_REPORTER_PARAMETERS_TOKEN } from './tokens.browser.js';
4
5
 
5
6
  const ApplicationMonitoringModule = declareModule({
6
7
  name: 'ApplicationMonitoringModule',
7
8
  imports: [],
8
- providers: [...sharedProviders],
9
+ providers: [
10
+ provide({
11
+ provide: commandLineListTokens.init,
12
+ useFactory: ({ logger, tramvaiHooks }) => {
13
+ const log = logger({
14
+ name: LOGGER_NAME,
15
+ });
16
+ return function applicationHealthSubscribe() {
17
+ let applicationRenderFinished = false;
18
+ tramvaiHooks['app:initialized'].tap('application-health', () => {
19
+ log.info({ event: 'app:initialized' });
20
+ });
21
+ tramvaiHooks['app:initialize-failed'].tap('application-health', () => {
22
+ log.info({ event: 'app:initialized-failed' });
23
+ });
24
+ tramvaiHooks['app:rendered'].tap('application-health', () => {
25
+ log.info({ event: 'app:rendered' });
26
+ });
27
+ tramvaiHooks['react:render'].tap('application-health', () => {
28
+ log.info({ event: 'react:render' });
29
+ if (!applicationRenderFinished) {
30
+ applicationRenderFinished = true;
31
+ tramvaiHooks['app:rendered'].call({});
32
+ }
33
+ });
34
+ tramvaiHooks['app:render-failed'].tap('application-health', (_, { error }) => {
35
+ log.error({ event: 'app:render-failed', error });
36
+ });
37
+ tramvaiHooks['react:error'].tap('application-health', (_, { event, error, errorInfo, otherErrors }) => {
38
+ log.error({ event: 'react:error', error, errorInfo, otherErrors });
39
+ switch (event) {
40
+ case 'page-error-boundary':
41
+ case 'hydrate:on-uncaught-error':
42
+ case 'hydrate:failed': {
43
+ if (!applicationRenderFinished) {
44
+ applicationRenderFinished = true;
45
+ tramvaiHooks['app:render-failed'].call({ error });
46
+ }
47
+ break;
48
+ }
49
+ }
50
+ });
51
+ };
52
+ },
53
+ deps: {
54
+ logger: LOGGER_TOKEN,
55
+ tramvaiHooks: TRAMVAI_HOOKS_TOKEN,
56
+ },
57
+ }),
58
+ ],
9
59
  });
10
60
 
11
61
  export { ApplicationMonitoringModule };
package/lib/server.es.js CHANGED
@@ -1,18 +1,58 @@
1
- import { declareModule, provide } from '@tramvai/core';
1
+ import { declareModule, provide, commandLineListTokens, TRAMVAI_HOOKS_TOKEN, APP_INFO_TOKEN } from '@tramvai/core';
2
2
  import { RENDER_SLOTS, ResourceSlot, ResourceType } from '@tramvai/tokens-render';
3
- import { LOGGER_TOKEN } from '@tramvai/module-common';
3
+ import { LOGGER_TOKEN, ENV_MANAGER_TOKEN } from '@tramvai/module-common';
4
4
  import { INLINE_REPORTER_PARAMETERS_TOKEN, INLINE_REPORTER_FACTORY_SCRIPT_TOKEN } from './tokens.es.js';
5
5
  export { INLINE_REPORTER_FACTORY_SCRIPT_TOKEN, INLINE_REPORTER_PARAMETERS_TOKEN } from './tokens.es.js';
6
+ import { LOGGER_NAME } from './constants.es.js';
6
7
  import { appCreationMonitoringScript } from './inlineReporters/events/appCreationMonitoringScript.inline.es.js';
7
8
  import { errorMonitoringScript } from './inlineReporters/events/errorMonitoringScript.inline.es.js';
8
9
  import { htmlOpenedMonitoringScript } from './inlineReporters/events/htmlOpenedMonitoringScript.inline.es.js';
9
- import { sharedProviders } from './sharedProviders.es.js';
10
10
 
11
11
  const ApplicationMonitoringModule = declareModule({
12
12
  name: 'ApplicationMonitoringModule',
13
13
  imports: [],
14
14
  providers: [
15
- ...sharedProviders,
15
+ provide({
16
+ provide: commandLineListTokens.init,
17
+ useFactory: ({ logger, tramvaiHooks }) => {
18
+ const log = logger({
19
+ name: LOGGER_NAME,
20
+ });
21
+ return function applicationHealthSubscribe() {
22
+ tramvaiHooks['app:initialized'].tap('application-health', () => {
23
+ log.info({ event: 'app:initialized' });
24
+ });
25
+ tramvaiHooks['app:initialize-failed'].tap('application-health', () => {
26
+ log.info({ event: 'app:initialized-failed' });
27
+ });
28
+ tramvaiHooks['app:rendered'].tap('application-health', () => {
29
+ log.info({ event: 'app:rendered' });
30
+ });
31
+ tramvaiHooks['react:render'].tap('application-health', (_, payload) => {
32
+ log.info({ event: 'react:render' });
33
+ if (payload.event === 'ssr:on-all-ready') {
34
+ tramvaiHooks['app:rendered'].call({});
35
+ }
36
+ });
37
+ tramvaiHooks['app:render-failed'].tap('application-health', (_, { error }) => {
38
+ log.error({ event: 'app:render-failed', error });
39
+ });
40
+ tramvaiHooks['react:error'].tap('application-health', (_, { event, error, errorInfo, otherErrors }) => {
41
+ log.error({ event: 'react:error', error, errorInfo, otherErrors });
42
+ switch (event) {
43
+ case 'ssr:on-shell-error': {
44
+ tramvaiHooks['app:render-failed'].call({ error });
45
+ break;
46
+ }
47
+ }
48
+ });
49
+ };
50
+ },
51
+ deps: {
52
+ logger: LOGGER_TOKEN,
53
+ tramvaiHooks: TRAMVAI_HOOKS_TOKEN,
54
+ },
55
+ }),
16
56
  provide({
17
57
  provide: RENDER_SLOTS,
18
58
  multi: true,
@@ -37,6 +77,20 @@ const ApplicationMonitoringModule = declareModule({
37
77
  },
38
78
  },
39
79
  }),
80
+ provide({
81
+ provide: INLINE_REPORTER_PARAMETERS_TOKEN,
82
+ useFactory: ({ appInfo, envManager }) => {
83
+ return {
84
+ appName: appInfo.appName,
85
+ appRelease: envManager.get('APP_RELEASE'),
86
+ appVersion: envManager.get('APP_VERSION'),
87
+ };
88
+ },
89
+ deps: {
90
+ envManager: ENV_MANAGER_TOKEN,
91
+ appInfo: APP_INFO_TOKEN,
92
+ },
93
+ }),
40
94
  provide({
41
95
  provide: RENDER_SLOTS,
42
96
  multi: true,
package/lib/server.js CHANGED
@@ -6,16 +6,56 @@ var core = require('@tramvai/core');
6
6
  var tokensRender = require('@tramvai/tokens-render');
7
7
  var moduleCommon = require('@tramvai/module-common');
8
8
  var tokens = require('./tokens.js');
9
+ var constants = require('./constants.js');
9
10
  var appCreationMonitoringScript_inline = require('./inlineReporters/events/appCreationMonitoringScript.inline.js');
10
11
  var errorMonitoringScript_inline = require('./inlineReporters/events/errorMonitoringScript.inline.js');
11
12
  var htmlOpenedMonitoringScript_inline = require('./inlineReporters/events/htmlOpenedMonitoringScript.inline.js');
12
- var sharedProviders = require('./sharedProviders.js');
13
13
 
14
14
  const ApplicationMonitoringModule = core.declareModule({
15
15
  name: 'ApplicationMonitoringModule',
16
16
  imports: [],
17
17
  providers: [
18
- ...sharedProviders.sharedProviders,
18
+ core.provide({
19
+ provide: core.commandLineListTokens.init,
20
+ useFactory: ({ logger, tramvaiHooks }) => {
21
+ const log = logger({
22
+ name: constants.LOGGER_NAME,
23
+ });
24
+ return function applicationHealthSubscribe() {
25
+ tramvaiHooks['app:initialized'].tap('application-health', () => {
26
+ log.info({ event: 'app:initialized' });
27
+ });
28
+ tramvaiHooks['app:initialize-failed'].tap('application-health', () => {
29
+ log.info({ event: 'app:initialized-failed' });
30
+ });
31
+ tramvaiHooks['app:rendered'].tap('application-health', () => {
32
+ log.info({ event: 'app:rendered' });
33
+ });
34
+ tramvaiHooks['react:render'].tap('application-health', (_, payload) => {
35
+ log.info({ event: 'react:render' });
36
+ if (payload.event === 'ssr:on-all-ready') {
37
+ tramvaiHooks['app:rendered'].call({});
38
+ }
39
+ });
40
+ tramvaiHooks['app:render-failed'].tap('application-health', (_, { error }) => {
41
+ log.error({ event: 'app:render-failed', error });
42
+ });
43
+ tramvaiHooks['react:error'].tap('application-health', (_, { event, error, errorInfo, otherErrors }) => {
44
+ log.error({ event: 'react:error', error, errorInfo, otherErrors });
45
+ switch (event) {
46
+ case 'ssr:on-shell-error': {
47
+ tramvaiHooks['app:render-failed'].call({ error });
48
+ break;
49
+ }
50
+ }
51
+ });
52
+ };
53
+ },
54
+ deps: {
55
+ logger: moduleCommon.LOGGER_TOKEN,
56
+ tramvaiHooks: core.TRAMVAI_HOOKS_TOKEN,
57
+ },
58
+ }),
19
59
  core.provide({
20
60
  provide: tokensRender.RENDER_SLOTS,
21
61
  multi: true,
@@ -40,6 +80,20 @@ const ApplicationMonitoringModule = core.declareModule({
40
80
  },
41
81
  },
42
82
  }),
83
+ core.provide({
84
+ provide: tokens.INLINE_REPORTER_PARAMETERS_TOKEN,
85
+ useFactory: ({ appInfo, envManager }) => {
86
+ return {
87
+ appName: appInfo.appName,
88
+ appRelease: envManager.get('APP_RELEASE'),
89
+ appVersion: envManager.get('APP_VERSION'),
90
+ };
91
+ },
92
+ deps: {
93
+ envManager: moduleCommon.ENV_MANAGER_TOKEN,
94
+ appInfo: core.APP_INFO_TOKEN,
95
+ },
96
+ }),
43
97
  core.provide({
44
98
  provide: tokensRender.RENDER_SLOTS,
45
99
  multi: true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/module-application-monitoring",
3
- "version": "7.29.0",
3
+ "version": "7.30.0",
4
4
  "description": "Модуль сбора и отправки событий мониторинга состояния приложения",
5
5
  "browser": "lib/browser.js",
6
6
  "main": "lib/server.js",
@@ -23,13 +23,13 @@
23
23
  "registry": "https://registry.npmjs.org/"
24
24
  },
25
25
  "dependencies": {
26
- "@tramvai/module-common": "7.29.0",
27
- "@tramvai/tokens-render": "7.29.0"
26
+ "@tramvai/module-common": "7.30.0",
27
+ "@tramvai/tokens-render": "7.30.0"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "@tinkoff/dippy": "^1.0.0",
31
- "@tramvai/core": "7.29.0",
32
- "@tramvai/react": "7.29.0",
31
+ "@tramvai/core": "7.30.0",
32
+ "@tramvai/react": "7.30.0",
33
33
  "tslib": "^2.4.0"
34
34
  }
35
35
  }
@@ -1,71 +0,0 @@
1
- import { LOGGER_TOKEN, ENV_MANAGER_TOKEN } from '@tramvai/module-common';
2
- import { provide, commandLineListTokens, TRAMVAI_HOOKS_TOKEN, APP_INFO_TOKEN } from '@tramvai/core';
3
- import { INLINE_REPORTER_PARAMETERS_TOKEN } from './tokens.browser.js';
4
- import { LOGGER_NAME } from './constants.browser.js';
5
-
6
- const sharedProviders = [
7
- provide({
8
- provide: commandLineListTokens.init,
9
- useFactory: ({ logger, tramvaiHooks }) => {
10
- const log = logger({
11
- name: LOGGER_NAME,
12
- });
13
- return function applicationHealthSubscribe() {
14
- let applicationRenderFinished = false;
15
- tramvaiHooks['app:initialized'].tap('application-health', () => {
16
- log.info({ event: 'app:initialized' });
17
- });
18
- tramvaiHooks['app:initialize-failed'].tap('application-health', () => {
19
- log.info({ event: 'app:initialized-failed' });
20
- });
21
- tramvaiHooks['app:rendered'].tap('application-health', () => {
22
- log.info({ event: 'app:rendered' });
23
- });
24
- tramvaiHooks['react:render'].tap('application-health', () => {
25
- log.info({ event: 'react:render' });
26
- if (!applicationRenderFinished) {
27
- applicationRenderFinished = true;
28
- tramvaiHooks['app:rendered'].call({});
29
- }
30
- });
31
- tramvaiHooks['app:render-failed'].tap('application-health', (_, { error }) => {
32
- log.error({ event: 'app:render-failed', error });
33
- });
34
- tramvaiHooks['react:error'].tap('application-health', (_, { event, error, errorInfo, otherErrors }) => {
35
- log.error({ event: 'react:error', error, errorInfo, otherErrors });
36
- switch (event) {
37
- case 'page-error-boundary':
38
- case 'hydrate:on-uncaught-error':
39
- case 'hydrate:failed': {
40
- if (!applicationRenderFinished) {
41
- applicationRenderFinished = true;
42
- tramvaiHooks['app:render-failed'].call({ error });
43
- }
44
- break;
45
- }
46
- }
47
- });
48
- };
49
- },
50
- deps: {
51
- logger: LOGGER_TOKEN,
52
- tramvaiHooks: TRAMVAI_HOOKS_TOKEN,
53
- },
54
- }),
55
- provide({
56
- provide: INLINE_REPORTER_PARAMETERS_TOKEN,
57
- useFactory: ({ appInfo, envManager }) => {
58
- return {
59
- appName: appInfo.appName,
60
- appRelease: envManager.get('APP_RELEASE'),
61
- appVersion: envManager.get('APP_VERSION'),
62
- };
63
- },
64
- deps: {
65
- envManager: ENV_MANAGER_TOKEN,
66
- appInfo: APP_INFO_TOKEN,
67
- },
68
- }),
69
- ];
70
-
71
- export { sharedProviders };
@@ -1,26 +0,0 @@
1
- export declare const sharedProviders: (import("@tramvai/core").Provider<{
2
- logger: import("@tramvai/module-common").Logger & ((configOrName: string | {
3
- [key: string]: any;
4
- name: string;
5
- }) => import("@tramvai/module-common").Logger) & {
6
- __type?: "base token" | undefined;
7
- };
8
- tramvaiHooks: import("@tramvai/core").TramvaiHooks & {
9
- __type?: "base token" | undefined;
10
- };
11
- }, import("@tramvai/core").Command & {
12
- __type?: "multi token" | undefined;
13
- }> | import("@tramvai/core").Provider<{
14
- envManager: import("@tramvai/module-common").EnvironmentManager & {
15
- __type?: "base token" | undefined;
16
- };
17
- appInfo: {
18
- [key: string]: string;
19
- appName: string;
20
- } & {
21
- __type?: "base token" | undefined;
22
- };
23
- }, import("./types").InlineReporterParameters & {
24
- __type?: "base token" | undefined;
25
- }>)[];
26
- //# sourceMappingURL=sharedProviders.d.ts.map
@@ -1,71 +0,0 @@
1
- import { LOGGER_TOKEN, ENV_MANAGER_TOKEN } from '@tramvai/module-common';
2
- import { provide, commandLineListTokens, TRAMVAI_HOOKS_TOKEN, APP_INFO_TOKEN } from '@tramvai/core';
3
- import { INLINE_REPORTER_PARAMETERS_TOKEN } from './tokens.es.js';
4
- import { LOGGER_NAME } from './constants.es.js';
5
-
6
- const sharedProviders = [
7
- provide({
8
- provide: commandLineListTokens.init,
9
- useFactory: ({ logger, tramvaiHooks }) => {
10
- const log = logger({
11
- name: LOGGER_NAME,
12
- });
13
- return function applicationHealthSubscribe() {
14
- let applicationRenderFinished = false;
15
- tramvaiHooks['app:initialized'].tap('application-health', () => {
16
- log.info({ event: 'app:initialized' });
17
- });
18
- tramvaiHooks['app:initialize-failed'].tap('application-health', () => {
19
- log.info({ event: 'app:initialized-failed' });
20
- });
21
- tramvaiHooks['app:rendered'].tap('application-health', () => {
22
- log.info({ event: 'app:rendered' });
23
- });
24
- tramvaiHooks['react:render'].tap('application-health', () => {
25
- log.info({ event: 'react:render' });
26
- if (!applicationRenderFinished) {
27
- applicationRenderFinished = true;
28
- tramvaiHooks['app:rendered'].call({});
29
- }
30
- });
31
- tramvaiHooks['app:render-failed'].tap('application-health', (_, { error }) => {
32
- log.error({ event: 'app:render-failed', error });
33
- });
34
- tramvaiHooks['react:error'].tap('application-health', (_, { event, error, errorInfo, otherErrors }) => {
35
- log.error({ event: 'react:error', error, errorInfo, otherErrors });
36
- switch (event) {
37
- case 'page-error-boundary':
38
- case 'hydrate:on-uncaught-error':
39
- case 'hydrate:failed': {
40
- if (!applicationRenderFinished) {
41
- applicationRenderFinished = true;
42
- tramvaiHooks['app:render-failed'].call({ error });
43
- }
44
- break;
45
- }
46
- }
47
- });
48
- };
49
- },
50
- deps: {
51
- logger: LOGGER_TOKEN,
52
- tramvaiHooks: TRAMVAI_HOOKS_TOKEN,
53
- },
54
- }),
55
- provide({
56
- provide: INLINE_REPORTER_PARAMETERS_TOKEN,
57
- useFactory: ({ appInfo, envManager }) => {
58
- return {
59
- appName: appInfo.appName,
60
- appRelease: envManager.get('APP_RELEASE'),
61
- appVersion: envManager.get('APP_VERSION'),
62
- };
63
- },
64
- deps: {
65
- envManager: ENV_MANAGER_TOKEN,
66
- appInfo: APP_INFO_TOKEN,
67
- },
68
- }),
69
- ];
70
-
71
- export { sharedProviders };
@@ -1,75 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var moduleCommon = require('@tramvai/module-common');
6
- var core = require('@tramvai/core');
7
- var tokens = require('./tokens.js');
8
- var constants = require('./constants.js');
9
-
10
- const sharedProviders = [
11
- core.provide({
12
- provide: core.commandLineListTokens.init,
13
- useFactory: ({ logger, tramvaiHooks }) => {
14
- const log = logger({
15
- name: constants.LOGGER_NAME,
16
- });
17
- return function applicationHealthSubscribe() {
18
- let applicationRenderFinished = false;
19
- tramvaiHooks['app:initialized'].tap('application-health', () => {
20
- log.info({ event: 'app:initialized' });
21
- });
22
- tramvaiHooks['app:initialize-failed'].tap('application-health', () => {
23
- log.info({ event: 'app:initialized-failed' });
24
- });
25
- tramvaiHooks['app:rendered'].tap('application-health', () => {
26
- log.info({ event: 'app:rendered' });
27
- });
28
- tramvaiHooks['react:render'].tap('application-health', () => {
29
- log.info({ event: 'react:render' });
30
- if (!applicationRenderFinished) {
31
- applicationRenderFinished = true;
32
- tramvaiHooks['app:rendered'].call({});
33
- }
34
- });
35
- tramvaiHooks['app:render-failed'].tap('application-health', (_, { error }) => {
36
- log.error({ event: 'app:render-failed', error });
37
- });
38
- tramvaiHooks['react:error'].tap('application-health', (_, { event, error, errorInfo, otherErrors }) => {
39
- log.error({ event: 'react:error', error, errorInfo, otherErrors });
40
- switch (event) {
41
- case 'page-error-boundary':
42
- case 'hydrate:on-uncaught-error':
43
- case 'hydrate:failed': {
44
- if (!applicationRenderFinished) {
45
- applicationRenderFinished = true;
46
- tramvaiHooks['app:render-failed'].call({ error });
47
- }
48
- break;
49
- }
50
- }
51
- });
52
- };
53
- },
54
- deps: {
55
- logger: moduleCommon.LOGGER_TOKEN,
56
- tramvaiHooks: core.TRAMVAI_HOOKS_TOKEN,
57
- },
58
- }),
59
- core.provide({
60
- provide: tokens.INLINE_REPORTER_PARAMETERS_TOKEN,
61
- useFactory: ({ appInfo, envManager }) => {
62
- return {
63
- appName: appInfo.appName,
64
- appRelease: envManager.get('APP_RELEASE'),
65
- appVersion: envManager.get('APP_VERSION'),
66
- };
67
- },
68
- deps: {
69
- envManager: moduleCommon.ENV_MANAGER_TOKEN,
70
- appInfo: core.APP_INFO_TOKEN,
71
- },
72
- }),
73
- ];
74
-
75
- exports.sharedProviders = sharedProviders;