diff --git a/dart/lib/src/sentry_trace_origins.dart b/dart/lib/src/sentry_trace_origins.dart index 84fde6cd94..466c540079 100644 --- a/dart/lib/src/sentry_trace_origins.dart +++ b/dart/lib/src/sentry_trace_origins.dart @@ -11,4 +11,5 @@ class SentryTraceOrigins { static const autoFile = 'auto.file'; static const autoFileAssetBundle = 'auto.file.asset_bundle'; static const autoFileSqfliteSentryBatch = 'auto.file.sqflite.sentry_batch'; + static const autoFileSqfliteSentryDatabaseExecutor = 'auto.file.sqflite.sentry_database_executor'; } diff --git a/sqflite/lib/src/sentry_database.dart b/sqflite/lib/src/sentry_database.dart index 345924349d..c1ac2ec265 100644 --- a/sqflite/lib/src/sentry_database.dart +++ b/sqflite/lib/src/sentry_database.dart @@ -60,6 +60,8 @@ class SentryDatabase extends SentryDatabaseExecutor implements Database { dbOp, description: 'Close DB: ${_database.path}', ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; try { await _database.close(); @@ -109,6 +111,8 @@ class SentryDatabase extends SentryDatabaseExecutor implements Database { _dbSqlOp, description: 'Transaction DB: ${_database.path}', ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; Future newAction(Transaction txn) async { final executor = diff --git a/sqflite/lib/src/sentry_database_executor.dart b/sqflite/lib/src/sentry_database_executor.dart index e00896eef6..08ccd79995 100644 --- a/sqflite/lib/src/sentry_database_executor.dart +++ b/sqflite/lib/src/sentry_database_executor.dart @@ -39,6 +39,8 @@ class SentryDatabaseExecutor implements DatabaseExecutor { SentryDatabase.dbSqlExecuteOp, description: builder.sql, ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; try { final result = @@ -66,6 +68,8 @@ class SentryDatabaseExecutor implements DatabaseExecutor { SentryDatabase.dbSqlExecuteOp, description: sql, ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; try { await _executor.execute(sql, arguments); @@ -101,6 +105,8 @@ class SentryDatabaseExecutor implements DatabaseExecutor { SentryDatabase.dbSqlExecuteOp, description: builder.sql, ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; try { final result = await _executor.insert( @@ -155,6 +161,8 @@ class SentryDatabaseExecutor implements DatabaseExecutor { SentryDatabase.dbSqlQueryOp, description: builder.sql, ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; try { final result = await _executor.query( @@ -216,6 +224,8 @@ class SentryDatabaseExecutor implements DatabaseExecutor { SentryDatabase.dbSqlQueryOp, description: builder.sql, ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; try { final result = await _executor.queryCursor( @@ -254,6 +264,8 @@ class SentryDatabaseExecutor implements DatabaseExecutor { SentryDatabase.dbSqlExecuteOp, description: sql, ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; try { final result = await _executor.rawDelete(sql, arguments); @@ -280,6 +292,8 @@ class SentryDatabaseExecutor implements DatabaseExecutor { SentryDatabase.dbSqlExecuteOp, description: sql, ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; try { final result = await _executor.rawInsert(sql, arguments); @@ -309,6 +323,8 @@ class SentryDatabaseExecutor implements DatabaseExecutor { SentryDatabase.dbSqlQueryOp, description: sql, ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; try { final result = await _executor.rawQuery(sql, arguments); @@ -339,6 +355,8 @@ class SentryDatabaseExecutor implements DatabaseExecutor { SentryDatabase.dbSqlQueryOp, description: sql, ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; try { final result = await _executor.rawQueryCursor( @@ -369,6 +387,8 @@ class SentryDatabaseExecutor implements DatabaseExecutor { SentryDatabase.dbSqlExecuteOp, description: sql, ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; try { final result = await _executor.rawUpdate(sql, arguments); @@ -408,6 +428,8 @@ class SentryDatabaseExecutor implements DatabaseExecutor { SentryDatabase.dbSqlExecuteOp, description: builder.sql, ); + // ignore: invalid_use_of_internal_member + span?.origin = SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor; try { final result = await _executor.update( diff --git a/sqflite/test/sentry_database_test.dart b/sqflite/test/sentry_database_test.dart index 3ec80568fc..1d7f34552f 100644 --- a/sqflite/test/sentry_database_test.dart +++ b/sqflite/test/sentry_database_test.dart @@ -67,6 +67,8 @@ void main() { expect(span.context.operation, 'db'); expect(span.context.description, 'Close DB: $inMemoryDatabasePath'); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); test('creates transaction span', () async { @@ -79,6 +81,8 @@ void main() { expect(span.context.operation, 'db.sql.transaction'); expect(span.context.description, 'Transaction DB: $inMemoryDatabasePath'); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -99,6 +103,8 @@ void main() { ); expect(insertSpan.context.parentSpanId, trSpan.context.spanId); expect(insertSpan.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(insertSpan.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -142,6 +148,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); test('transaction sets span to internal error', () async { @@ -158,6 +166,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); }); @@ -184,6 +194,8 @@ void main() { expect(span.context.operation, 'db.sql.execute'); expect(span.context.description, 'DELETE FROM Product'); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -197,6 +209,8 @@ void main() { expect(span.context.operation, 'db.sql.execute'); expect(span.context.description, 'DELETE FROM Product'); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -213,6 +227,8 @@ void main() { 'INSERT INTO Product (title) VALUES (?)', ); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -226,6 +242,8 @@ void main() { expect(span.context.operation, 'db.sql.query'); expect(span.context.description, 'SELECT * FROM Product'); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -239,6 +257,8 @@ void main() { expect(span.context.operation, 'db.sql.query'); expect(span.context.description, 'SELECT * FROM Product'); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -252,6 +272,8 @@ void main() { expect(span.context.operation, 'db.sql.execute'); expect(span.context.description, 'DELETE FROM Product'); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -269,6 +291,8 @@ void main() { 'INSERT INTO Product (title) VALUES (?)', ); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -282,6 +306,8 @@ void main() { expect(span.context.operation, 'db.sql.query'); expect(span.context.description, 'SELECT * FROM Product'); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -295,6 +321,8 @@ void main() { expect(span.context.operation, 'db.sql.query'); expect(span.context.description, 'SELECT * FROM Product'); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -308,6 +336,8 @@ void main() { expect(span.context.operation, 'db.sql.execute'); expect(span.context.description, 'UPDATE Product SET title = ?'); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -321,6 +351,8 @@ void main() { expect(span.context.operation, 'db.sql.execute'); expect(span.context.description, 'UPDATE Product SET title = ?'); expect(span.status, SpanStatus.ok()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); await db.close(); }); @@ -353,6 +385,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); test('execute sets span to internal error', () async { @@ -368,6 +402,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); test('insert sets span to internal error', () async { @@ -384,6 +420,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); test('query sets span to internal error', () async { @@ -399,6 +437,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); test('query cursor sets span to internal error', () async { @@ -414,6 +454,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); test('raw delete sets span to internal error', () async { @@ -429,6 +471,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); test('raw insert sets span to internal error', () async { @@ -444,6 +488,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); test('raw query sets span to internal error', () async { @@ -459,6 +505,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); test('raw query cursor sets span to internal error', () async { @@ -475,6 +523,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); test('raw update sets span to internal error', () async { @@ -490,6 +540,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); test('update sets span to internal error', () async { @@ -506,6 +558,8 @@ void main() { final span = fixture.tracer.children.last; expect(span.throwable, fixture.exception); expect(span.status, SpanStatus.internalError()); + // ignore: invalid_use_of_internal_member + expect(span.origin, SentryTraceOrigins.autoFileSqfliteSentryDatabaseExecutor); }); }); }