Skip to content

Commit

Permalink
set origin to executor spans
Browse files Browse the repository at this point in the history
  • Loading branch information
denrase committed Jun 26, 2023
1 parent b78d02c commit 5370936
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 0 deletions.
1 change: 1 addition & 0 deletions dart/lib/src/sentry_trace_origins.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
}
4 changes: 4 additions & 0 deletions sqflite/lib/src/sentry_database.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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<T> newAction(Transaction txn) async {
final executor =
Expand Down
22 changes: 22 additions & 0 deletions sqflite/lib/src/sentry_database_executor.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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 =
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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);
Expand All @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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(
Expand Down
54 changes: 54 additions & 0 deletions sqflite/test/sentry_database_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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();
});
Expand All @@ -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();
});
Expand Down Expand Up @@ -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 {
Expand All @@ -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);
});
});

Expand All @@ -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();
});
Expand All @@ -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();
});
Expand All @@ -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();
});
Expand All @@ -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();
});
Expand All @@ -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();
});
Expand All @@ -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();
});
Expand All @@ -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();
});
Expand All @@ -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();
});
Expand All @@ -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();
});
Expand All @@ -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();
});
Expand All @@ -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();
});
Expand Down Expand Up @@ -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 {
Expand All @@ -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 {
Expand All @@ -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 {
Expand All @@ -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 {
Expand All @@ -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 {
Expand All @@ -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 {
Expand All @@ -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 {
Expand All @@ -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 {
Expand All @@ -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 {
Expand All @@ -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 {
Expand All @@ -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);
});
});
}
Expand Down

0 comments on commit 5370936

Please sign in to comment.