Loading CHANGES.md +10 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ To be released. - Fedify now supports OpenTelemetry for tracing. [[#170]] - Added `Context.tracerProvider` property. - Added `CreateFederationOptions.tracerProvider` option. - Added `LookupWebFingerOptions.tracerProvider` option. - Added `LookupObjectOptions.tracerProvider` option. Loading @@ -71,8 +72,17 @@ To be released. - Added `VerifyProofOptions.tracerProvider` option. - Added `VerifyObjectOptions.tracerProvider` option. - Added `SignObjectOptions.tracerProvider` option. - Added `VerifySignatureOptions.tracerProvider` option. - Added `VerifyJsonLdOptions.tracerProvider` option. - Added `SignJsonLdOptions.tracerProvider` option. - Added `DoesActorOwnKeyOptions.tracerProvider` option. - Added `GetKeyOwnerOptions.tracerProvider` option. - Added `tracerProvider` option to the following Activity Vocabulary APIs: - The second parameters of constructors. - The second parameters of `fromJsonLd()` static methods. - The second parameters of `get*()` methods. - Added `@fedify/fedify/x/sveltekit` module for integrating with [SvelteKit] hook. [[#171], [#183] by Jiyu Park] Loading docs/manual/opentelemetry.md +1 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,7 @@ spans: | `{method} {template}` | Server | Serves the incoming HTTP request. | | `activitypub.get_actor_handle` | Client | Resolves the actor handle. | | `activitypub.lookup_object` | Client | Looks up the Activity Streams object. | | `activitypub.parse_object` | Internal | Parses the Activity Streams object. | | `http_signatures.sign` | Internal | Signs the HTTP request. | | `http_signatures.verify` | Internal | Verifies the HTTP request signature. | | `ld_signatures.sign` | Internal | Makes the Linked Data signature. | Loading src/codegen/__snapshots__/class.test.ts.snap +3943 −185 File changed.Preview size limit exceeded, changes collapsed. Show changes src/codegen/class.test.ts +5 −0 Original line number Diff line number Diff line import { assertEquals } from "@std/assert"; import { dirname, join } from "@std/path"; import { assertSnapshot } from "@std/testing/snapshot"; import metadata from "../deno.json" with { type: "json" }; import { test } from "../testing/mod.ts"; import { generateClasses, sortTopologically } from "./class.ts"; import { loadSchemaFiles } from "./schema.ts"; Loading Loading @@ -72,5 +73,9 @@ test("generateClasses()", async (t) => { for await (const code of generateClasses(types, runtimePath)) { entireCode += code; } entireCode = entireCode.replaceAll( JSON.stringify(metadata.version), '"0.0.0"', ); await assertSnapshot(t, entireCode); }); src/codegen/class.ts +7 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ async function* generateClass( yield ` readonly #documentLoader?: DocumentLoader; readonly #contextLoader?: DocumentLoader; readonly #tracerProvider?: TracerProvider; readonly id: URL | null; protected get _documentLoader(): DocumentLoader | undefined { Loading @@ -59,6 +60,10 @@ async function* generateClass( protected get _contextLoader(): DocumentLoader | undefined { return this.#contextLoader; } protected get _tracerProvider(): TracerProvider | undefined { return this.#tracerProvider; } `; } yield ` Loading Loading @@ -95,6 +100,8 @@ export async function* generateClasses( yield "// @ts-ignore TS7016\n"; yield 'import jsonld from "jsonld";\n'; yield 'import { getLogger } from "@logtape/logtape";\n'; yield `import { type Span, SpanStatusCode, type TracerProvider, trace } from "@opentelemetry/api";\n`; yield `import { LanguageTag, parseLanguageTag } from "@phensley/language-tag";\n`; yield `import { decode as decodeMultibase, encode as encodeMultibase } Loading Loading
CHANGES.md +10 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ To be released. - Fedify now supports OpenTelemetry for tracing. [[#170]] - Added `Context.tracerProvider` property. - Added `CreateFederationOptions.tracerProvider` option. - Added `LookupWebFingerOptions.tracerProvider` option. - Added `LookupObjectOptions.tracerProvider` option. Loading @@ -71,8 +72,17 @@ To be released. - Added `VerifyProofOptions.tracerProvider` option. - Added `VerifyObjectOptions.tracerProvider` option. - Added `SignObjectOptions.tracerProvider` option. - Added `VerifySignatureOptions.tracerProvider` option. - Added `VerifyJsonLdOptions.tracerProvider` option. - Added `SignJsonLdOptions.tracerProvider` option. - Added `DoesActorOwnKeyOptions.tracerProvider` option. - Added `GetKeyOwnerOptions.tracerProvider` option. - Added `tracerProvider` option to the following Activity Vocabulary APIs: - The second parameters of constructors. - The second parameters of `fromJsonLd()` static methods. - The second parameters of `get*()` methods. - Added `@fedify/fedify/x/sveltekit` module for integrating with [SvelteKit] hook. [[#171], [#183] by Jiyu Park] Loading
docs/manual/opentelemetry.md +1 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,7 @@ spans: | `{method} {template}` | Server | Serves the incoming HTTP request. | | `activitypub.get_actor_handle` | Client | Resolves the actor handle. | | `activitypub.lookup_object` | Client | Looks up the Activity Streams object. | | `activitypub.parse_object` | Internal | Parses the Activity Streams object. | | `http_signatures.sign` | Internal | Signs the HTTP request. | | `http_signatures.verify` | Internal | Verifies the HTTP request signature. | | `ld_signatures.sign` | Internal | Makes the Linked Data signature. | Loading
src/codegen/__snapshots__/class.test.ts.snap +3943 −185 File changed.Preview size limit exceeded, changes collapsed. Show changes
src/codegen/class.test.ts +5 −0 Original line number Diff line number Diff line import { assertEquals } from "@std/assert"; import { dirname, join } from "@std/path"; import { assertSnapshot } from "@std/testing/snapshot"; import metadata from "../deno.json" with { type: "json" }; import { test } from "../testing/mod.ts"; import { generateClasses, sortTopologically } from "./class.ts"; import { loadSchemaFiles } from "./schema.ts"; Loading Loading @@ -72,5 +73,9 @@ test("generateClasses()", async (t) => { for await (const code of generateClasses(types, runtimePath)) { entireCode += code; } entireCode = entireCode.replaceAll( JSON.stringify(metadata.version), '"0.0.0"', ); await assertSnapshot(t, entireCode); });
src/codegen/class.ts +7 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ async function* generateClass( yield ` readonly #documentLoader?: DocumentLoader; readonly #contextLoader?: DocumentLoader; readonly #tracerProvider?: TracerProvider; readonly id: URL | null; protected get _documentLoader(): DocumentLoader | undefined { Loading @@ -59,6 +60,10 @@ async function* generateClass( protected get _contextLoader(): DocumentLoader | undefined { return this.#contextLoader; } protected get _tracerProvider(): TracerProvider | undefined { return this.#tracerProvider; } `; } yield ` Loading Loading @@ -95,6 +100,8 @@ export async function* generateClasses( yield "// @ts-ignore TS7016\n"; yield 'import jsonld from "jsonld";\n'; yield 'import { getLogger } from "@logtape/logtape";\n'; yield `import { type Span, SpanStatusCode, type TracerProvider, trace } from "@opentelemetry/api";\n`; yield `import { LanguageTag, parseLanguageTag } from "@phensley/language-tag";\n`; yield `import { decode as decodeMultibase, encode as encodeMultibase } Loading