Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions common/api-review/telemetry.api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
## API Report File for "@firebase/telemetry"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts

import { FirebaseApp } from '@firebase/app';
import { LoggerProvider } from '@opentelemetry/sdk-logs';

// @public
export function captureError(telemetry: Telemetry, error: unknown): void;

// @public
export function flush(telemetry: Telemetry): Promise<void>;

// @public
export function getTelemetry(app?: FirebaseApp): Telemetry;

// @public
export interface Telemetry {
app: FirebaseApp;
loggerProvider: LoggerProvider;
}


// (No @packageDocumentation comment for this package)

```
5 changes: 5 additions & 0 deletions docs-devsite/_toc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -648,3 +648,8 @@ toc:
path: /docs/reference/js/storage.uploadtask.md
- title: UploadTaskSnapshot
path: /docs/reference/js/storage.uploadtasksnapshot.md
- title: telemetry
path: /docs/reference/js/telemetry.md
section:
- title: Telemetry
path: /docs/reference/js/telemetry.telemetry.md
1 change: 1 addition & 0 deletions docs-devsite/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,5 @@ https://github.com/firebase/firebase-js-sdk
| [@firebase/performance](./performance.md#performance_package) | The Firebase Performance Monitoring Web SDK. This SDK does not work in a Node.js environment. |
| [@firebase/remote-config](./remote-config.md#remote-config_package) | The Firebase Remote Config Web SDK. This SDK does not work in a Node.js environment. |
| [@firebase/storage](./storage.md#storage_package) | Cloud Storage for Firebase |
| [@firebase/telemetry](./telemetry.md#telemetry_package) | |

106 changes: 106 additions & 0 deletions docs-devsite/telemetry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
Project: /docs/reference/js/_project.yaml
Book: /docs/reference/_book.yaml
page_type: reference

{% comment %}
DO NOT EDIT THIS FILE!
This is generated by the JS SDK team, and any local changes will be
overwritten. Changes should be made in the source code at
https://github.com/firebase/firebase-js-sdk
{% endcomment %}

# telemetry package

## Functions

| Function | Description |
| --- | --- |
| <b>function(app, ...)</b> |
| [getTelemetry(app)](./telemetry.md#gettelemetry_cf608e1) | Returns the default [Telemetry](./telemetry.telemetry.md#telemetry_interface) instance that is associated with the provided [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface)<!-- -->. If no instance exists, initializes a new instance with the default settings. |
| <b>function(telemetry, ...)</b> |
| [captureError(telemetry, error)](./telemetry.md#captureerror_7c2d94e) | Enqueues an error to be uploaded to the Firebase Telemetry API. |
| [flush(telemetry)](./telemetry.md#flush_8975134) | Flushes all enqueued telemetry data immediately, instead of waiting for default batching. |

## Interfaces

| Interface | Description |
| --- | --- |
| [Telemetry](./telemetry.telemetry.md#telemetry_interface) | An instance of the Firebase Telemetry SDK.<!-- -->Do not create this instance directly. Instead, use [getTelemetry()](./telemetry.md#gettelemetry_cf608e1)<!-- -->. |

## function(app, ...)

### getTelemetry(app) {:#gettelemetry_cf608e1}

Returns the default [Telemetry](./telemetry.telemetry.md#telemetry_interface) instance that is associated with the provided [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface)<!-- -->. If no instance exists, initializes a new instance with the default settings.

<b>Signature:</b>

```typescript
export declare function getTelemetry(app?: FirebaseApp): Telemetry;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| app | [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) | The [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) to use. |

<b>Returns:</b>

[Telemetry](./telemetry.telemetry.md#telemetry_interface)

The default [Telemetry](./telemetry.telemetry.md#telemetry_interface) instance for the given [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface)<!-- -->.

### Example


```javascript
const telemetry = getTelemetry(app);

```

## function(telemetry, ...)

### captureError(telemetry, error) {:#captureerror_7c2d94e}

Enqueues an error to be uploaded to the Firebase Telemetry API.

<b>Signature:</b>

```typescript
export declare function captureError(telemetry: Telemetry, error: unknown): void;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| telemetry | [Telemetry](./telemetry.telemetry.md#telemetry_interface) | The [Telemetry](./telemetry.telemetry.md#telemetry_interface) instance. |
| error | unknown | the caught exception, typically an |

<b>Returns:</b>

void

### flush(telemetry) {:#flush_8975134}

Flushes all enqueued telemetry data immediately, instead of waiting for default batching.

<b>Signature:</b>

```typescript
export declare function flush(telemetry: Telemetry): Promise<void>;
```

#### Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| telemetry | [Telemetry](./telemetry.telemetry.md#telemetry_interface) | The [Telemetry](./telemetry.telemetry.md#telemetry_interface) instance. |

<b>Returns:</b>

Promise&lt;void&gt;

a promise which is resolved when all flushes are complete

48 changes: 48 additions & 0 deletions docs-devsite/telemetry.telemetry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
Project: /docs/reference/js/_project.yaml
Book: /docs/reference/_book.yaml
page_type: reference

{% comment %}
DO NOT EDIT THIS FILE!
This is generated by the JS SDK team, and any local changes will be
overwritten. Changes should be made in the source code at
https://github.com/firebase/firebase-js-sdk
{% endcomment %}

# Telemetry interface
An instance of the Firebase Telemetry SDK.

Do not create this instance directly. Instead, use [getTelemetry()](./telemetry.md#gettelemetry_cf608e1)<!-- -->.

<b>Signature:</b>

```typescript
export interface Telemetry
```

## Properties

| Property | Type | Description |
| --- | --- | --- |
| [app](./telemetry.telemetry.md#telemetryapp) | [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) | The [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) this [Telemetry](./telemetry.telemetry.md#telemetry_interface) instance is associated with. |
| [loggerProvider](./telemetry.telemetry.md#telemetryloggerprovider) | LoggerProvider | The this [Telemetry](./telemetry.telemetry.md#telemetry_interface) instance uses. |

## Telemetry.app

The [FirebaseApp](./app.firebaseapp.md#firebaseapp_interface) this [Telemetry](./telemetry.telemetry.md#telemetry_interface) instance is associated with.

<b>Signature:</b>

```typescript
app: FirebaseApp;
```

## Telemetry.loggerProvider

The this [Telemetry](./telemetry.telemetry.md#telemetry_interface) instance uses.

<b>Signature:</b>

```typescript
loggerProvider: LoggerProvider;
```
10 changes: 10 additions & 0 deletions packages/telemetry/api-extractor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"extends": "../../config/api-extractor.json",
// Point it to your entry point d.ts file.
"mainEntryPointFilePath": "<projectFolder>/dist/index.d.ts",
"dtsRollup": {
"enabled": true,
"untrimmedFilePath": "<projectFolder>/dist/<unscopedPackageName>.d.ts",
"betaTrimmedFilePath": "<projectFolder>/dist/<unscopedPackageName>-public.d.ts"
}
}
2 changes: 1 addition & 1 deletion packages/telemetry/index.node.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
* just use index.ts
*/

import { registerTelemetry } from './src/index.node';
import { registerTelemetry } from './src/register.node';

console.log('Hi Node.js Users!');
registerTelemetry();
Expand Down
2 changes: 1 addition & 1 deletion packages/telemetry/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
* limitations under the License.
*/

import { registerTelemetry } from './src';
import { registerTelemetry } from './src/register';

registerTelemetry();

Expand Down
8 changes: 5 additions & 3 deletions packages/telemetry/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,17 @@
"scripts": {
"lint": "eslint -c .eslintrc.js '**/*.ts' --ignore-path '../../.gitignore'",
"lint:fix": "eslint --fix -c .eslintrc.js '**/*.ts' --ignore-path '../../.gitignore'",
"build": "rollup -c",
"build": "rollup -c && yarn api-report",
"build:deps": "lerna run --scope @firebase/telemetry --include-dependencies build",
"dev": "rollup -c -w",
"test": "run-p --npm-path npm lint test:all",
"test:ci": "node ../../scripts/run_tests_in_ci.js -s test:all",
"test:all": "run-p --npm-path npm test:browser test:node",
"test:browser": "karma start",
"test:node": "TS_NODE_COMPILER_OPTIONS='{\"module\":\"commonjs\"}' nyc --reporter lcovonly -- mocha src/**/*.test.* --config ../../config/mocharc.node.js",
"trusted-type-check": "tsec -p tsconfig.json --noEmit"
"trusted-type-check": "tsec -p tsconfig.json --noEmit",
"api-report": "api-extractor run --local --verbose",
"typings:public": "node ../../scripts/build/use_typings.js ./dist/telemetry-public.d.ts"
},
"peerDependencies": {
"@firebase/app": "0.x",
Expand Down Expand Up @@ -67,7 +69,7 @@
"bugs": {
"url": "https://github.com/firebase/firebase-js-sdk/issues"
},
"typings": "dist/index.d.ts",
"typings": "./dist/telemetry-public.d.ts",
"nyc": {
"extension": [
".ts"
Expand Down
File renamed without changes.
3 changes: 2 additions & 1 deletion scripts/docgen/docgen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,8 @@ const PREFERRED_PARAMS = [
'performance',
'remoteConfig',
'storage',
'ai'
'ai',
'telemetry'
];

let authApiReportOriginal: string;
Expand Down
Loading