diff --git a/README.md b/README.md index 2f95199..96e0fa3 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Tusk Drift currently supports the following packages and versions: - **HTTP/HTTPS**: All versions (Node.js built-in) - **GRPC**: `@grpc/grpc-js@1.x` (Outbound requests only) - **PG**: `pg@8.x`, `pg-pool@2.x-3.x` -- **Firestore**: `@google-cloud/firestore@7.x` +- **Firestore**: `@google-cloud/firestore@7.x-8.x` - **Postgres**: `postgres@3.x` - **MySQL**: `mysql2@3.x`, `mysql@2.x` - **IORedis**: `ioredis@4.x-5.x` diff --git a/src/instrumentation/libraries/fetch/e2e-tests/cjs-fetch/docker-compose.yml b/src/instrumentation/libraries/fetch/e2e-tests/cjs-fetch/docker-compose.yml index 736e39a..aee491a 100644 --- a/src/instrumentation/libraries/fetch/e2e-tests/cjs-fetch/docker-compose.yml +++ b/src/instrumentation/libraries/fetch/e2e-tests/cjs-fetch/docker-compose.yml @@ -29,6 +29,9 @@ services: - ./src:/app/src # Mount .tusk config (but traces/logs are created inside container) - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs depends_on: - mock-upstream working_dir: /app diff --git a/src/instrumentation/libraries/fetch/e2e-tests/esm-fetch/docker-compose.yml b/src/instrumentation/libraries/fetch/e2e-tests/esm-fetch/docker-compose.yml index f48d37b..c28bf49 100644 --- a/src/instrumentation/libraries/fetch/e2e-tests/esm-fetch/docker-compose.yml +++ b/src/instrumentation/libraries/fetch/e2e-tests/esm-fetch/docker-compose.yml @@ -27,6 +27,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk config - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src depends_on: diff --git a/src/instrumentation/libraries/firestore/Instrumentation.ts b/src/instrumentation/libraries/firestore/Instrumentation.ts index e36c12d..ecd66bd 100644 --- a/src/instrumentation/libraries/firestore/Instrumentation.ts +++ b/src/instrumentation/libraries/firestore/Instrumentation.ts @@ -20,7 +20,7 @@ import { TdFirestoreWriteResultMock } from "./mocks/TdFirestoreWriteResultMock"; import { PackageType } from "@use-tusk/drift-schemas/core/span"; import { logger } from "../../../core/utils/logger"; -const FIRESTORE_VERSION = "7.*"; +const FIRESTORE_VERSIONS = ["7.*", "8.*"]; const PACKAGE_NAME = "@google-cloud/firestore"; export class FirestoreInstrumentation extends TdInstrumentationBase { @@ -39,24 +39,24 @@ export class FirestoreInstrumentation extends TdInstrumentationBase { return [ new TdInstrumentationNodeModule({ name: PACKAGE_NAME, - supportedVersions: [FIRESTORE_VERSION], + supportedVersions: FIRESTORE_VERSIONS, files: [ // Patch DocumentReference methods new TdInstrumentationNodeModuleFile({ name: "@google-cloud/firestore/build/src/reference/document-reference.js", - supportedVersions: [FIRESTORE_VERSION], + supportedVersions: FIRESTORE_VERSIONS, patch: (moduleExports: any) => this._patchDocumentReference(moduleExports), }), // Patch CollectionReference methods new TdInstrumentationNodeModuleFile({ name: "@google-cloud/firestore/build/src/reference/collection-reference.js", - supportedVersions: [FIRESTORE_VERSION], + supportedVersions: FIRESTORE_VERSIONS, patch: (moduleExports: any) => this._patchCollectionReference(moduleExports), }), // Patch Query methods new TdInstrumentationNodeModuleFile({ name: "@google-cloud/firestore/build/src/reference/query.js", - supportedVersions: [FIRESTORE_VERSION], + supportedVersions: FIRESTORE_VERSIONS, patch: (moduleExports: any) => this._patchQuery(moduleExports), }), ], diff --git a/src/instrumentation/libraries/firestore/e2e-tests/cjs-firestore/docker-compose.yml b/src/instrumentation/libraries/firestore/e2e-tests/cjs-firestore/docker-compose.yml index 78b7fee..d921862 100644 --- a/src/instrumentation/libraries/firestore/e2e-tests/cjs-firestore/docker-compose.yml +++ b/src/instrumentation/libraries/firestore/e2e-tests/cjs-firestore/docker-compose.yml @@ -19,6 +19,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk config - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/firestore/e2e-tests/esm-firestore/docker-compose.yml b/src/instrumentation/libraries/firestore/e2e-tests/esm-firestore/docker-compose.yml index d77bb3a..c44137e 100644 --- a/src/instrumentation/libraries/firestore/e2e-tests/esm-firestore/docker-compose.yml +++ b/src/instrumentation/libraries/firestore/e2e-tests/esm-firestore/docker-compose.yml @@ -19,6 +19,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk config - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/firestore/e2e-tests/esm-firestore/package.json b/src/instrumentation/libraries/firestore/e2e-tests/esm-firestore/package.json index 31567e3..a2a1050 100644 --- a/src/instrumentation/libraries/firestore/e2e-tests/esm-firestore/package.json +++ b/src/instrumentation/libraries/firestore/e2e-tests/esm-firestore/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@use-tusk/drift-node-sdk": "file:/sdk", - "@google-cloud/firestore": "^7.0.0", + "@google-cloud/firestore": "8.3.0", "express": "^4.18.2" }, "devDependencies": { diff --git a/src/instrumentation/libraries/grpc/e2e-tests/cjs-grpc/docker-compose.yml b/src/instrumentation/libraries/grpc/e2e-tests/cjs-grpc/docker-compose.yml index 9a712fa..db69890 100644 --- a/src/instrumentation/libraries/grpc/e2e-tests/cjs-grpc/docker-compose.yml +++ b/src/instrumentation/libraries/grpc/e2e-tests/cjs-grpc/docker-compose.yml @@ -18,6 +18,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk folder to persist traces - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/grpc/e2e-tests/esm-grpc/docker-compose.yml b/src/instrumentation/libraries/grpc/e2e-tests/esm-grpc/docker-compose.yml index 44c9a87..21bc96e 100644 --- a/src/instrumentation/libraries/grpc/e2e-tests/esm-grpc/docker-compose.yml +++ b/src/instrumentation/libraries/grpc/e2e-tests/esm-grpc/docker-compose.yml @@ -18,6 +18,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk folder to persist traces - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/http/e2e-tests/cjs-http/docker-compose.yml b/src/instrumentation/libraries/http/e2e-tests/cjs-http/docker-compose.yml index 224889c..f57a501 100644 --- a/src/instrumentation/libraries/http/e2e-tests/cjs-http/docker-compose.yml +++ b/src/instrumentation/libraries/http/e2e-tests/cjs-http/docker-compose.yml @@ -31,6 +31,9 @@ services: - ./src:/app/src # Mount .tusk config (but traces/logs are created inside container) - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs depends_on: - mock-upstream working_dir: /app diff --git a/src/instrumentation/libraries/http/e2e-tests/esm-http/docker-compose.yml b/src/instrumentation/libraries/http/e2e-tests/esm-http/docker-compose.yml index 012ecf9..2ea3b39 100644 --- a/src/instrumentation/libraries/http/e2e-tests/esm-http/docker-compose.yml +++ b/src/instrumentation/libraries/http/e2e-tests/esm-http/docker-compose.yml @@ -31,6 +31,9 @@ services: - ./src:/app/src # Mount .tusk config (but traces/logs are created inside container) - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs depends_on: - mock-upstream working_dir: /app diff --git a/src/instrumentation/libraries/ioredis/e2e-tests/cjs-ioredis/docker-compose.yml b/src/instrumentation/libraries/ioredis/e2e-tests/cjs-ioredis/docker-compose.yml index d6569b9..9fb4395 100644 --- a/src/instrumentation/libraries/ioredis/e2e-tests/cjs-ioredis/docker-compose.yml +++ b/src/instrumentation/libraries/ioredis/e2e-tests/cjs-ioredis/docker-compose.yml @@ -27,6 +27,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk config file to persist configuration - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/ioredis/e2e-tests/esm-ioredis/docker-compose.yml b/src/instrumentation/libraries/ioredis/e2e-tests/esm-ioredis/docker-compose.yml index 93262e2..ba07aab 100644 --- a/src/instrumentation/libraries/ioredis/e2e-tests/esm-ioredis/docker-compose.yml +++ b/src/instrumentation/libraries/ioredis/e2e-tests/esm-ioredis/docker-compose.yml @@ -27,6 +27,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk config file to persist configuration - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/mysql/e2e-tests/cjs-mysql/docker-compose.yml b/src/instrumentation/libraries/mysql/e2e-tests/cjs-mysql/docker-compose.yml index 6db8d33..955cdd6 100644 --- a/src/instrumentation/libraries/mysql/e2e-tests/cjs-mysql/docker-compose.yml +++ b/src/instrumentation/libraries/mysql/e2e-tests/cjs-mysql/docker-compose.yml @@ -36,6 +36,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk folder to persist traces - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/mysql/e2e-tests/esm-mysql/docker-compose.yml b/src/instrumentation/libraries/mysql/e2e-tests/esm-mysql/docker-compose.yml index 70fc0bb..e0beefa 100644 --- a/src/instrumentation/libraries/mysql/e2e-tests/esm-mysql/docker-compose.yml +++ b/src/instrumentation/libraries/mysql/e2e-tests/esm-mysql/docker-compose.yml @@ -36,6 +36,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk folder to persist traces - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/mysql2/e2e-tests/cjs-mysql2/docker-compose.yml b/src/instrumentation/libraries/mysql2/e2e-tests/cjs-mysql2/docker-compose.yml index a766015..afff31a 100644 --- a/src/instrumentation/libraries/mysql2/e2e-tests/cjs-mysql2/docker-compose.yml +++ b/src/instrumentation/libraries/mysql2/e2e-tests/cjs-mysql2/docker-compose.yml @@ -35,6 +35,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk folder to persist traces - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/mysql2/e2e-tests/esm-mysql2/docker-compose.yml b/src/instrumentation/libraries/mysql2/e2e-tests/esm-mysql2/docker-compose.yml index 20475f3..3f9c24f 100644 --- a/src/instrumentation/libraries/mysql2/e2e-tests/esm-mysql2/docker-compose.yml +++ b/src/instrumentation/libraries/mysql2/e2e-tests/esm-mysql2/docker-compose.yml @@ -35,6 +35,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk folder to persist traces - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/nextjs/e2e-tests/cjs-nextjs/docker-compose.yml b/src/instrumentation/libraries/nextjs/e2e-tests/cjs-nextjs/docker-compose.yml index 1d93c34..53e413f 100644 --- a/src/instrumentation/libraries/nextjs/e2e-tests/cjs-nextjs/docker-compose.yml +++ b/src/instrumentation/libraries/nextjs/e2e-tests/cjs-nextjs/docker-compose.yml @@ -30,6 +30,9 @@ services: - ../../../../../../node_modules:/app/node_modules/@use-tusk/drift-node-sdk/node_modules:ro # Mount .tusk config - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src # Mount Next.js config files diff --git a/src/instrumentation/libraries/nextjs/e2e-tests/esm-nextjs/docker-compose.yml b/src/instrumentation/libraries/nextjs/e2e-tests/esm-nextjs/docker-compose.yml index 2abec91..1d07105 100644 --- a/src/instrumentation/libraries/nextjs/e2e-tests/esm-nextjs/docker-compose.yml +++ b/src/instrumentation/libraries/nextjs/e2e-tests/esm-nextjs/docker-compose.yml @@ -30,6 +30,9 @@ services: - ../../../../../../node_modules:/app/node_modules/@use-tusk/drift-node-sdk/node_modules:ro # Mount .tusk config - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src # Mount Next.js config files diff --git a/src/instrumentation/libraries/pg/e2e-tests/cjs-pg/docker-compose.yml b/src/instrumentation/libraries/pg/e2e-tests/cjs-pg/docker-compose.yml index b757d26..8a33306 100644 --- a/src/instrumentation/libraries/pg/e2e-tests/cjs-pg/docker-compose.yml +++ b/src/instrumentation/libraries/pg/e2e-tests/cjs-pg/docker-compose.yml @@ -34,6 +34,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk config to persist configuration - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/pg/e2e-tests/esm-pg/docker-compose.yml b/src/instrumentation/libraries/pg/e2e-tests/esm-pg/docker-compose.yml index 1a899d4..936b338 100644 --- a/src/instrumentation/libraries/pg/e2e-tests/esm-pg/docker-compose.yml +++ b/src/instrumentation/libraries/pg/e2e-tests/esm-pg/docker-compose.yml @@ -34,6 +34,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk config to persist configuration - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/postgres/e2e-tests/cjs-postgres/docker-compose.yml b/src/instrumentation/libraries/postgres/e2e-tests/cjs-postgres/docker-compose.yml index 6858b62..adce61c 100644 --- a/src/instrumentation/libraries/postgres/e2e-tests/cjs-postgres/docker-compose.yml +++ b/src/instrumentation/libraries/postgres/e2e-tests/cjs-postgres/docker-compose.yml @@ -34,6 +34,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk config to persist configuration - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/postgres/e2e-tests/esm-postgres/docker-compose.yml b/src/instrumentation/libraries/postgres/e2e-tests/esm-postgres/docker-compose.yml index 29dc749..3fb2172 100644 --- a/src/instrumentation/libraries/postgres/e2e-tests/esm-postgres/docker-compose.yml +++ b/src/instrumentation/libraries/postgres/e2e-tests/esm-postgres/docker-compose.yml @@ -34,6 +34,9 @@ services: - ../../../../../..:/sdk:ro # Mount .tusk config to persist configuration - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount app source for development - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/prisma/e2e-tests/cjs-prisma/docker-compose.yml b/src/instrumentation/libraries/prisma/e2e-tests/cjs-prisma/docker-compose.yml index 71d24dc..d6cae55 100644 --- a/src/instrumentation/libraries/prisma/e2e-tests/cjs-prisma/docker-compose.yml +++ b/src/instrumentation/libraries/prisma/e2e-tests/cjs-prisma/docker-compose.yml @@ -28,6 +28,9 @@ services: - ../../../../../../:/sdk:ro # Mount .tusk config for read-only access - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount src for development - ./src:/app/src depends_on: diff --git a/src/instrumentation/libraries/prisma/e2e-tests/esm-prisma/docker-compose.yml b/src/instrumentation/libraries/prisma/e2e-tests/esm-prisma/docker-compose.yml index 00d270f..d086e53 100644 --- a/src/instrumentation/libraries/prisma/e2e-tests/esm-prisma/docker-compose.yml +++ b/src/instrumentation/libraries/prisma/e2e-tests/esm-prisma/docker-compose.yml @@ -31,6 +31,9 @@ services: - ../../../../../../:/sdk:ro # Mount .tusk config for read-only access - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs # Mount src for development - ./src:/app/src depends_on: diff --git a/src/instrumentation/libraries/upstash-redis-js/e2e-tests/cjs-upstash-redis-js/docker-compose.yml b/src/instrumentation/libraries/upstash-redis-js/e2e-tests/cjs-upstash-redis-js/docker-compose.yml index 275b1ba..6dc8b3a 100644 --- a/src/instrumentation/libraries/upstash-redis-js/e2e-tests/cjs-upstash-redis-js/docker-compose.yml +++ b/src/instrumentation/libraries/upstash-redis-js/e2e-tests/cjs-upstash-redis-js/docker-compose.yml @@ -17,5 +17,8 @@ services: volumes: - ../../../../../..:/sdk:ro - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs - ./src:/app/src working_dir: /app diff --git a/src/instrumentation/libraries/upstash-redis-js/e2e-tests/esm-upstash-redis-js/docker-compose.yml b/src/instrumentation/libraries/upstash-redis-js/e2e-tests/esm-upstash-redis-js/docker-compose.yml index 26a7310..34db67f 100644 --- a/src/instrumentation/libraries/upstash-redis-js/e2e-tests/esm-upstash-redis-js/docker-compose.yml +++ b/src/instrumentation/libraries/upstash-redis-js/e2e-tests/esm-upstash-redis-js/docker-compose.yml @@ -17,5 +17,8 @@ services: volumes: - ../../../../../..:/sdk:ro - ./.tusk/config.yaml:/app/.tusk/config.yaml:ro + # Persist traces and logs on host + - ./.tusk/traces:/app/.tusk/traces + - ./.tusk/logs:/app/.tusk/logs - ./src:/app/src working_dir: /app