diff --git a/package.json b/package.json
index bf9448aa..ab1ec989 100644
--- a/package.json
+++ b/package.json
@@ -26,14 +26,21 @@
"@galoymoney/client": "^0.1.48",
"@galoymoney/react": "^0.1.12",
"@opentelemetry/api": "^1.1.0",
+ "@opentelemetry/context-zone": "^1.7.0",
"@opentelemetry/core": "^1.5.0",
+ "@opentelemetry/exporter-collector": "^0.25.0",
"@opentelemetry/exporter-jaeger": "^1.5.0",
+ "@opentelemetry/exporter-trace-otlp-http": "^0.33.0",
"@opentelemetry/instrumentation": "^0.31.0",
+ "@opentelemetry/instrumentation-document-load": "^0.30.0",
+ "@opentelemetry/instrumentation-fetch": "^0.33.0",
"@opentelemetry/instrumentation-http": "^0.31.0",
"@opentelemetry/resources": "^1.5.0",
"@opentelemetry/sdk-trace-base": "^1.5.0",
"@opentelemetry/sdk-trace-node": "^1.5.0",
"@opentelemetry/semantic-conventions": "^1.5.0",
+ "@opentelemetry/tracing": "^0.24.0",
+ "@opentelemetry/web": "^0.24.0",
"@ory/client": "^0.2.0-alpha.4",
"@ory/integrations": "^0.2.6",
"@ory/kratos-client": "^0.10.1",
diff --git a/src/components/root.tsx b/src/components/root.tsx
index 28dd574d..84c53e70 100644
--- a/src/components/root.tsx
+++ b/src/components/root.tsx
@@ -9,6 +9,7 @@ import { KratosFlowData } from "kratos/index"
import { AuthProvider } from "components/auth-provider"
import RootComponent from "components/root-component"
+import TraceProvider from "store/client-tracing/trace-provider"
type RootFCT = React.FC<{ GwwState: GwwStateType }>
@@ -38,12 +39,14 @@ const Root: RootFCT = ({ GwwState }) => {
return (
-
+
+
+
)
diff --git a/src/components/send/send-action-display.tsx b/src/components/send/send-action-display.tsx
index ca9a8724..5b9ddf85 100644
--- a/src/components/send/send-action-display.tsx
+++ b/src/components/send/send-action-display.tsx
@@ -2,8 +2,10 @@ import { MouseEvent } from "react"
import { formatUsd, GaloyGQL } from "@galoymoney/client"
import { SatFormat, Spinner, SuccessCheckmark } from "@galoymoney/react"
+import { Span } from "@opentelemetry/api"
import { translate } from "store/index"
+import { getTracer, withTracing } from "store/client-tracing/tracing"
import useMyUpdates from "hooks/use-my-updates"
@@ -59,7 +61,17 @@ const SendActionDisplay: SendActionDisplayFCT = ({
reset,
handleSend,
}) => {
+ const recordErrors = (sendError: string, span: Span) => {
+ span.setAttribute("Error sending payment", sendError)
+ withTracing("send bitcoin error", span)
+ }
+
if (error) {
+ if (typeof error === "string") {
+ const tracer = getTracer()
+ const span = tracer.startSpan("web wallet error")
+ recordErrors(error, span)
+ }
return
{error}
}
diff --git a/src/components/send/send-intra-ledger-action.tsx b/src/components/send/send-intra-ledger-action.tsx
index 5f12f4a8..c208181d 100644
--- a/src/components/send/send-intra-ledger-action.tsx
+++ b/src/components/send/send-intra-ledger-action.tsx
@@ -1,8 +1,11 @@
import { useMutation } from "@galoymoney/client"
-import { MouseEvent } from "react"
+import React, { MouseEvent } from "react"
import SendActionDisplay from "components/send/send-action-display"
import { SendActionProps } from "components/send/send-action"
+import { getTracer, withTracing, reportSpan } from "store/client-tracing/tracing"
+
+const tracer = getTracer()
export type SendIntraLedgerActionProps = SendActionProps & {
recipientWalletId: string
@@ -12,23 +15,36 @@ export type SendIntraLedgerActionProps = SendActionProps & {
type FCT = React.FC
const SendIntraLedgerAction: FCT = (props) => {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ const [parentSpan, setParentSpan] = React.useState(null)
const [sendPayment, { loading, errorsMessage, data }] =
useMutation.intraLedgerPaymentSend()
- const handleSend = (event: MouseEvent) => {
+ const handleSend = async (event: MouseEvent) => {
event.preventDefault()
- sendPayment({
- variables: {
- input: {
- walletId: props.btcWalletId,
- recipientWalletId: props.recipientWalletId,
- amount: props.satAmount,
- memo: props.memo,
+ const rootSpan = tracer.startSpan("web wallet")
+ await withTracing("intra-ledger send", rootSpan, async () => {
+ sendPayment({
+ variables: {
+ input: {
+ walletId: props.btcWalletId,
+ recipientWalletId: props.recipientWalletId,
+ amount: props.satAmount,
+ memo: props.memo,
+ },
},
- },
+ })
})
+ setParentSpan(rootSpan)
}
+ React.useEffect(() => {
+ if (parentSpan) {
+ parentSpan.end()
+ reportSpan(parentSpan)
+ }
+ }, [parentSpan])
+
return (
const SendOnChainAction: FCT = (props) => {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ const [parentSpan, setParentSpan] = React.useState(null)
const [sendPayment, { loading, data, errorsMessage: paymentError }] =
useMutation.onChainPaymentSend()
@@ -29,20 +34,31 @@ const SendOnChainAction: FCT = (props) => {
const feeSatAmount = feeData?.onChainTxFee?.amount
- const handleSend = (event: MouseEvent) => {
+ const handleSend = async (event: MouseEvent) => {
event.preventDefault()
- sendPayment({
- variables: {
- input: {
- walletId: props.btcWalletId,
- address: props.address,
- amount: props.satAmount,
- memo: props.memo,
+ const rootSpan = tracer.startSpan("web wallet")
+ await withTracing("on-chain send", rootSpan, async () => {
+ sendPayment({
+ variables: {
+ input: {
+ walletId: props.btcWalletId,
+ address: props.address,
+ amount: props.satAmount,
+ memo: props.memo,
+ },
},
- },
+ })
})
+ setParentSpan(rootSpan)
}
+ React.useEffect(() => {
+ if (parentSpan) {
+ parentSpan.end()
+ reportSpan(parentSpan)
+ }
+ }, [parentSpan])
+
return (
{children}>
+}
diff --git a/src/store/client-tracing/tracing.ts b/src/store/client-tracing/tracing.ts
new file mode 100644
index 00000000..77804085
--- /dev/null
+++ b/src/store/client-tracing/tracing.ts
@@ -0,0 +1,42 @@
+import { trace, context, Span } from "@opentelemetry/api"
+
+export const reportSpan = (span: Span) => {
+ console.log("report span:", span)
+
+ fetch("./send-trace", {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ body: JSON.stringify(span),
+ })
+ .then((response) => response.json())
+ .then((data) => console.log(data))
+ .catch((error) => {
+ console.error("Error:", error)
+ })
+}
+
+export const withTracing = async (name: string, parentSpan: Span, cb?: () => void) => {
+ const tracer = trace.getTracer("galoy-web-wallet")
+ let span = trace.getSpan(context.active())
+
+ if (parentSpan) {
+ const ctx = trace.setSpan(context.active(), parentSpan)
+ span = tracer.startSpan(name, undefined, ctx)
+ } else {
+ span = tracer.startSpan(name)
+ }
+
+ if (cb) {
+ await cb()
+ }
+
+ span.end()
+
+ reportSpan(span)
+}
+
+export const getTracer = () => {
+ return trace.getTracer("galoy-web-wallet")
+}
diff --git a/yarn.lock b/yarn.lock
index c9659ca3..4424d0ea 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -908,6 +908,11 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
+"@opentelemetry/api-metrics@0.25.0":
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api-metrics/-/api-metrics-0.25.0.tgz#3b996842c8043068da4d11a6e96960e757ad6be9"
+ integrity sha512-9T0c9NQAEGRujUC7HzPa2/qZ5px/UvB2sfSU5CAKFRrAlDl2gn25B0oUbDqSRHW/IG1X2rnQ3z2bBQkJyJvE4g==
+
"@opentelemetry/api-metrics@0.31.0":
version "0.31.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/api-metrics/-/api-metrics-0.31.0.tgz#0ed4cf4d7c731f968721c2b303eaf5e9fd42f736"
@@ -915,6 +920,20 @@
dependencies:
"@opentelemetry/api" "^1.0.0"
+"@opentelemetry/api-metrics@0.32.0":
+ version "0.32.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api-metrics/-/api-metrics-0.32.0.tgz#0f09f78491a4b301ddf54a8b8a38ffa99981f645"
+ integrity sha512-g1WLhpG8B6iuDyZJFRGsR+JKyZ94m5LEmY2f+duEJ9Xb4XRlLHrZvh6G34OH6GJ8iDHxfHb/sWjJ1ZpkI9yGMQ==
+ dependencies:
+ "@opentelemetry/api" "^1.0.0"
+
+"@opentelemetry/api-metrics@0.33.0":
+ version "0.33.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api-metrics/-/api-metrics-0.33.0.tgz#753d355289b7811ad254d6e5b0193bd1b9f23ab0"
+ integrity sha512-78evfPRRRnJA6uZ3xuBuS3VZlXTO/LRs+Ff1iv3O/7DgibCtq9k27T6Zlj8yRdJDFmcjcbQrvC0/CpDpWHaZYA==
+ dependencies:
+ "@opentelemetry/api" "^1.0.0"
+
"@opentelemetry/api@^1.0.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.1.0.tgz#563539048255bbe1a5f4f586a4a10a1bb737f44a"
@@ -930,6 +949,35 @@
resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.6.0.tgz#e3839bf8c010d7e660d9762fe2407171d352b88e"
integrity sha512-7xpyfHfuHnuCm5eAk4j4MIZjRM/hsiLlKEFIwI8SXNlbxqmb/JRrntOjN/AT+KeihkMw+xAx+0lsYPUANCSaQw==
+"@opentelemetry/context-zone-peer-dep@1.7.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/context-zone-peer-dep/-/context-zone-peer-dep-1.7.0.tgz#7e8e642db519d7a4a3168a7bdc4f1a8ad7344383"
+ integrity sha512-lyY6gXmVTSsx8rdxvQ3EqiEwvyK3iWDJyt2G6nc/kpMon4gQsqPaOylevdVVw9FL5fhJMmJJPiRVHu3qDP63Zg==
+
+"@opentelemetry/context-zone@^1.7.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/context-zone/-/context-zone-1.7.0.tgz#4d891827d2d9bad79d44ed3b42d8978cdef5c675"
+ integrity sha512-ngl8uGzQM6/GMX4FtwrZ69qcvsCBA0u2AMwbO+j2aji/SXEqIOr8L9nM7A8/XzBo2UkmOte0jq2Mbir9TnWuZg==
+ dependencies:
+ "@opentelemetry/context-zone-peer-dep" "1.7.0"
+ zone.js "^0.11.0"
+
+"@opentelemetry/core@0.24.0":
+ version "0.24.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-0.24.0.tgz#94033ebab10fdf008f8dae19c9547dadef30a2b2"
+ integrity sha512-KpsfxBbFTZT9zaB4Es/fFLbvSzVl9Io/8UUu/TYl4/HgqkmyVInNlWTgRiKyz9nsHzFpGP1kdZJj+YIut0IFsw==
+ dependencies:
+ "@opentelemetry/semantic-conventions" "0.24.0"
+ semver "^7.1.3"
+
+"@opentelemetry/core@0.25.0":
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-0.25.0.tgz#44fae79865483be5dacdf72f99db9f1a603c4bae"
+ integrity sha512-8OTWF4vfCENU112XB5ElLqf0eq/FhsY0SBvvY65vB3+fbZ2Oi+CPsRASrUZWGtC9MJ5rK2lBlY+/jI4a/NPPBg==
+ dependencies:
+ "@opentelemetry/semantic-conventions" "0.25.0"
+ semver "^7.3.5"
+
"@opentelemetry/core@1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.5.0.tgz#717bceee15d4c69d4c7321c1fe0f5a562b60eb81"
@@ -944,6 +992,24 @@
dependencies:
"@opentelemetry/semantic-conventions" "1.6.0"
+"@opentelemetry/core@1.7.0", "@opentelemetry/core@^1.0.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.7.0.tgz#83bdd1b7a4ceafcdffd6590420657caec5f7b34c"
+ integrity sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==
+ dependencies:
+ "@opentelemetry/semantic-conventions" "1.7.0"
+
+"@opentelemetry/exporter-collector@^0.25.0":
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-collector/-/exporter-collector-0.25.0.tgz#5c6a6a95cb2220aba6085f79b561166e150737df"
+ integrity sha512-xZYstLt4hz1aTloJaepWdjMMf9305MqwqbUWjcU/X9pOxvgFWRlchO6x/HQTw7ow0i/S+ShzC+greKnb+1WvLA==
+ dependencies:
+ "@opentelemetry/api-metrics" "0.25.0"
+ "@opentelemetry/core" "0.25.0"
+ "@opentelemetry/resources" "0.25.0"
+ "@opentelemetry/sdk-metrics-base" "0.25.0"
+ "@opentelemetry/sdk-trace-base" "0.25.0"
+
"@opentelemetry/exporter-jaeger@^1.5.0":
version "1.6.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-jaeger/-/exporter-jaeger-1.6.0.tgz#aec09659fe2d81228bdd04a38a542535ff3c2771"
@@ -954,6 +1020,38 @@
"@opentelemetry/semantic-conventions" "1.6.0"
jaeger-client "^3.15.0"
+"@opentelemetry/exporter-trace-otlp-http@^0.33.0":
+ version "0.33.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.33.0.tgz#3b03847ec266c6acf098d89ce160347826358acc"
+ integrity sha512-bRMseTWB1NSrJtbCgf/ema5XO+o9Nj+Y4YbdTLg2n7gnsdoEW/l2Li+JXyxP7rgAsE3cLeekTmNp0IWq5t4TnA==
+ dependencies:
+ "@opentelemetry/core" "1.7.0"
+ "@opentelemetry/otlp-exporter-base" "0.33.0"
+ "@opentelemetry/otlp-transformer" "0.33.0"
+ "@opentelemetry/resources" "1.7.0"
+ "@opentelemetry/sdk-trace-base" "1.7.0"
+
+"@opentelemetry/instrumentation-document-load@^0.30.0":
+ version "0.30.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-document-load/-/instrumentation-document-load-0.30.0.tgz#b6c67823f3ded002f4a9c97d6f362e1ed353df2c"
+ integrity sha512-/QW7nkfXamdRmiPKPS7pky2PxJ32wbYNMgXQk99wiZoW7oXTmW/1e33jtAXayHqzufq45y5WY+EetQ2gtPNH/Q==
+ dependencies:
+ "@opentelemetry/core" "^1.0.0"
+ "@opentelemetry/instrumentation" "^0.32.0"
+ "@opentelemetry/sdk-trace-base" "^1.0.0"
+ "@opentelemetry/sdk-trace-web" "^1.0.0"
+ "@opentelemetry/semantic-conventions" "^1.0.0"
+
+"@opentelemetry/instrumentation-fetch@^0.33.0":
+ version "0.33.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fetch/-/instrumentation-fetch-0.33.0.tgz#9225444665fafb38a730650c88821ceea490a86f"
+ integrity sha512-HrQUPIpQQBm3h1EWhiaGDLUaoCwxXwoOICcfGNaNBel93UZETDPCiVOje8V1vTcsMcOkcl1xLQEx1BLZ4eUwkQ==
+ dependencies:
+ "@opentelemetry/core" "1.7.0"
+ "@opentelemetry/instrumentation" "0.33.0"
+ "@opentelemetry/sdk-trace-web" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.7.0"
+
"@opentelemetry/instrumentation-http@^0.31.0":
version "0.31.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-http/-/instrumentation-http-0.31.0.tgz#5c6dea9cdb636543c6ed1f1a4e55d4422e50fa89"
@@ -974,6 +1072,44 @@
semver "^7.3.2"
shimmer "^1.2.1"
+"@opentelemetry/instrumentation@0.33.0":
+ version "0.33.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.33.0.tgz#7bced3a13bc2731670d5a23a2fb45353142d8da4"
+ integrity sha512-8joPjKJ6TznNt04JbnzZG+m1j/4wm1OIrX7DEw/V5lyZ9/2fahIqG72jeZ26VKOZnLOpVzUUnU/dweURqBzT3Q==
+ dependencies:
+ "@opentelemetry/api-metrics" "0.33.0"
+ require-in-the-middle "^5.0.3"
+ semver "^7.3.2"
+ shimmer "^1.2.1"
+
+"@opentelemetry/instrumentation@^0.32.0":
+ version "0.32.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.32.0.tgz#27c5975a323a2ba83d9bf2ea8b11faaab37c5827"
+ integrity sha512-y6ADjHpkUz/v1nkyyYjsQa/zorhX+0qVGpFvXMcbjU4sHnBnC02c6wcc93sIgZfiQClIWo45TGku1KQxJ5UUbQ==
+ dependencies:
+ "@opentelemetry/api-metrics" "0.32.0"
+ require-in-the-middle "^5.0.3"
+ semver "^7.3.2"
+ shimmer "^1.2.1"
+
+"@opentelemetry/otlp-exporter-base@0.33.0":
+ version "0.33.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.33.0.tgz#bfbdf9bd7b54b92f9d939df99639f30d6a917481"
+ integrity sha512-st+nsgv23BXSARFwugy6pheulDfOKjIFvzoYOUzPQDVhQtU8+l7dc50rIEybwXghb13o7mZs6Nb8KOvRk57qww==
+ dependencies:
+ "@opentelemetry/core" "1.7.0"
+
+"@opentelemetry/otlp-transformer@0.33.0":
+ version "0.33.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-transformer/-/otlp-transformer-0.33.0.tgz#6fd3ddc944f017da08d445f142cad1779770e0e0"
+ integrity sha512-L4OpsUaki9/Fib17t44YkDvAz3RpMZTtl6hYBhcTqAnqY0wVBpQf0ra25GyHQTKj+oiA//ZxvOlmmM/dXCYxoQ==
+ dependencies:
+ "@opentelemetry/api-metrics" "0.33.0"
+ "@opentelemetry/core" "1.7.0"
+ "@opentelemetry/resources" "1.7.0"
+ "@opentelemetry/sdk-metrics" "0.33.0"
+ "@opentelemetry/sdk-trace-base" "1.7.0"
+
"@opentelemetry/propagator-b3@1.6.0":
version "1.6.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-1.6.0.tgz#db0dee4f28cb4f1830f3cd35013b652b8078f355"
@@ -988,6 +1124,22 @@
dependencies:
"@opentelemetry/core" "1.6.0"
+"@opentelemetry/resources@0.24.0":
+ version "0.24.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-0.24.0.tgz#834e5a4d0a64ed4de085add8308be203959c44b4"
+ integrity sha512-uEr2m13IRkjQAjX6fsYqJ21aONCspRvuQunaCl8LbH1NS1Gj82TuRUHF6TM82ulBPK8pU+nrrqXKuky2cMcIzw==
+ dependencies:
+ "@opentelemetry/core" "0.24.0"
+ "@opentelemetry/semantic-conventions" "0.24.0"
+
+"@opentelemetry/resources@0.25.0":
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-0.25.0.tgz#a780ab536577359ca9ebe93ccc5d02ba8c3fb2ce"
+ integrity sha512-O46u53vDBlxCML8O9dIjsRcCC2VT5ri1upwhp02ITobgJ16aVD/iScCo1lPl/x2E7yq9uwzMINENiiYZRFb6XA==
+ dependencies:
+ "@opentelemetry/core" "0.25.0"
+ "@opentelemetry/semantic-conventions" "0.25.0"
+
"@opentelemetry/resources@1.6.0", "@opentelemetry/resources@^1.5.0":
version "1.6.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.6.0.tgz#9756894131b9b0dfbcc0cecb5d4bd040d9c1b09d"
@@ -996,6 +1148,44 @@
"@opentelemetry/core" "1.6.0"
"@opentelemetry/semantic-conventions" "1.6.0"
+"@opentelemetry/resources@1.7.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.7.0.tgz#90ccd3a6a86b4dfba4e833e73944bd64958d78c5"
+ integrity sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==
+ dependencies:
+ "@opentelemetry/core" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.7.0"
+
+"@opentelemetry/sdk-metrics-base@0.25.0":
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics-base/-/sdk-metrics-base-0.25.0.tgz#3ac340ef9f1ff7c649339bb031f6c390a2c8ed70"
+ integrity sha512-7fwPlAFB5Xw8mnVQfq0wqKNw3RXiAMad9T1bk5Sza9LK/L6hz8RTuHWCsFMsj+1OOSAaiPFuUMYrK1J75+2IAg==
+ dependencies:
+ "@opentelemetry/api-metrics" "0.25.0"
+ "@opentelemetry/core" "0.25.0"
+ "@opentelemetry/resources" "0.25.0"
+ lodash.merge "^4.6.2"
+
+"@opentelemetry/sdk-metrics@0.33.0":
+ version "0.33.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics/-/sdk-metrics-0.33.0.tgz#c4e51decc6e3bb0e1e97c7b081955d357e46c2fe"
+ integrity sha512-ZXPixOlTd/FHLwpkmm5nTpJE7bZOPfmbSz8hBVFCEHkXE1aKEKaM38UFnZ+2xzOY1tDsDwyxEiiBiDX8y3039A==
+ dependencies:
+ "@opentelemetry/api-metrics" "0.33.0"
+ "@opentelemetry/core" "1.7.0"
+ "@opentelemetry/resources" "1.7.0"
+ lodash.merge "4.6.2"
+
+"@opentelemetry/sdk-trace-base@0.25.0":
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-0.25.0.tgz#4393903a7db8a5ae81a99c4a34121df67e4fdfbe"
+ integrity sha512-TInkLSF/ThM3GNVM+9tgnCVjyNLnRxvAkG585Fhu0HNwaEtCTUwI0r7AvMRIREOreeRWttBG6kvT0LOKdo8yjw==
+ dependencies:
+ "@opentelemetry/core" "0.25.0"
+ "@opentelemetry/resources" "0.25.0"
+ "@opentelemetry/semantic-conventions" "0.25.0"
+ lodash.merge "^4.6.2"
+
"@opentelemetry/sdk-trace-base@1.6.0", "@opentelemetry/sdk-trace-base@^1.5.0":
version "1.6.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.6.0.tgz#8b1511c0b0f3e6015e345f5ed4a683adf03e3e3c"
@@ -1005,6 +1195,15 @@
"@opentelemetry/resources" "1.6.0"
"@opentelemetry/semantic-conventions" "1.6.0"
+"@opentelemetry/sdk-trace-base@1.7.0", "@opentelemetry/sdk-trace-base@^1.0.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz#b498424e0c6340a9d80de63fd408c5c2130a60a5"
+ integrity sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==
+ dependencies:
+ "@opentelemetry/core" "1.7.0"
+ "@opentelemetry/resources" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.7.0"
+
"@opentelemetry/sdk-trace-node@^1.5.0":
version "1.6.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.6.0.tgz#fb15e030b19931f1cd6ad755add2bfd77fb915b6"
@@ -1017,6 +1216,25 @@
"@opentelemetry/sdk-trace-base" "1.6.0"
semver "^7.3.5"
+"@opentelemetry/sdk-trace-web@1.7.0", "@opentelemetry/sdk-trace-web@^1.0.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.7.0.tgz#6c8b8a1f5775f27755cb207b8444579c4b9d14c4"
+ integrity sha512-c+Aq9lMv6MIItJF6XiXCfqyCq/x4VgF6GoKY5aygsxapu1bVk96qaLfGkuQvlUlT2KlyaI6INQiFwQegBXoYiQ==
+ dependencies:
+ "@opentelemetry/core" "1.7.0"
+ "@opentelemetry/sdk-trace-base" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.7.0"
+
+"@opentelemetry/semantic-conventions@0.24.0":
+ version "0.24.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-0.24.0.tgz#1028ef0e0923b24916158d80d2ddfd67ea8b6740"
+ integrity sha512-a/szuMQV0Quy0/M7kKdglcbRSoorleyyOwbTNNJ32O+RBN766wbQlMTvdimImTmwYWGr+NJOni1EcC242WlRcA==
+
+"@opentelemetry/semantic-conventions@0.25.0":
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-0.25.0.tgz#c100d146957949608c6b9614267ae044cdcb5315"
+ integrity sha512-V3N+MDBiv0TUlorbgiSqk6CvcP876CYUk/41Tg6s8OIyvniTwprE6vPvFQayuABiVkGlHOxv1Mlvp0w4qNdnVg==
+
"@opentelemetry/semantic-conventions@1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.5.0.tgz#cea9792bfcf556c87ded17c6ac729348697bb632"
@@ -1027,6 +1245,30 @@
resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.6.0.tgz#ed410c9eb0070491cff9fe914246ce41f88d6f74"
integrity sha512-aPfcBeLErM/PPiAuAbNFLN5sNbZLc3KZlar27uohllN8Zs6jJbHyJU1y7cMA6W/zuq+thkaG8mujiS+3iD/FWQ==
+"@opentelemetry/semantic-conventions@1.7.0", "@opentelemetry/semantic-conventions@^1.0.0":
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz#af80a1ef7cf110ea3a68242acd95648991bcd763"
+ integrity sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==
+
+"@opentelemetry/tracing@0.24.0", "@opentelemetry/tracing@^0.24.0":
+ version "0.24.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/tracing/-/tracing-0.24.0.tgz#63077fe77b2f450442cb36710ea355db76f60faa"
+ integrity sha512-sTLEs1SIon3xV8vLe53PzfbU0FahoxL9NPY/CYvA1mwGbMu4zHkHAjqy1Tc8JmqRrfa+XrHkmzeSM4hrvloBaA==
+ dependencies:
+ "@opentelemetry/core" "0.24.0"
+ "@opentelemetry/resources" "0.24.0"
+ "@opentelemetry/semantic-conventions" "0.24.0"
+ lodash.merge "^4.6.2"
+
+"@opentelemetry/web@^0.24.0":
+ version "0.24.0"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/web/-/web-0.24.0.tgz#911bcb81e34c0419e49f0cfb9e1be845a5475dc6"
+ integrity sha512-yxAKj7bQ3czfif9MtYXaSJrgRcrLUNltslyhEE+Oh7Ojh9XQ0Q5RhPnE9cwHdR7yp1+HjbEHE+I91QIMKMlVWA==
+ dependencies:
+ "@opentelemetry/core" "0.24.0"
+ "@opentelemetry/semantic-conventions" "0.24.0"
+ "@opentelemetry/tracing" "0.24.0"
+
"@ory/client@^0.2.0-alpha.16", "@ory/client@^0.2.0-alpha.4":
version "0.2.0-alpha.25"
resolved "https://registry.yarnpkg.com/@ory/client/-/client-0.2.0-alpha.25.tgz#c45064a0449dd3f438e16ed956a22f3207ca3212"
@@ -5233,7 +5475,7 @@ lodash.memoize@4.x:
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
-lodash.merge@^4.6.2:
+lodash.merge@4.6.2, lodash.merge@^4.6.2:
version "4.6.2"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
@@ -6873,7 +7115,7 @@ secp256k1@^4.0.2:
node-addon-api "^2.0.0"
node-gyp-build "^4.2.0"
-semver@7.x, semver@^7.3.5, semver@^7.3.7:
+semver@7.x, semver@^7.1.3, semver@^7.3.5, semver@^7.3.7:
version "7.3.7"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
@@ -8120,3 +8362,10 @@ zen-observable@0.8.15:
version "0.8.15"
resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"
integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==
+
+zone.js@^0.11.0:
+ version "0.11.8"
+ resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.8.tgz#40dea9adc1ad007b5effb2bfed17f350f1f46a21"
+ integrity sha512-82bctBg2hKcEJ21humWIkXRlLBBmrc3nN7DFh5LGGhcyycO2S7FN8NmdvlcKaGFDNVL4/9kFLmwmInTavdJERA==
+ dependencies:
+ tslib "^2.3.0"