sentry_link 0.1.2 sentry_link: ^0.1.2 copied to clipboard
Automatic capture of exceptions and GraphQL errors for the gql eco-system, like graphql and ferry
import 'dart:io';
import 'package:graphql/client.dart';
import 'package:sentry/sentry.dart';
import 'package:sentry_link/sentry_link.dart';
Future<void> main() {
return Sentry.init(
(options) {
options.dsn =
'https://c8f216b28d814d2ca83e52fb735da535@o266569.ingest.sentry.io/5558444';
options.addEventProcessor(GqlEventProcessor());
options.tracesSampleRate = 1;
},
appRunner: example,
);
}
Future<void> example() async {
final link = Link.from([
SentryLink.link(),
SentryTracingLink(shouldStartTransaction: true),
HttpLink(
'https://api.chat.graphql-flutter.dev/graphql',
httpClient: SentryHttpClient(networkTracing: true),
parser: SentryResponseParser(),
serializer: SentryRequestSerializer(),
),
]);
final client = GraphQLClient(
cache: GraphQLCache(),
link: link,
);
final QueryOptions options = QueryOptions(
operationName: 'ReadChats',
document: gql(
r'''
query ExampleQuery {
getChats {
# intentionally missing the 'e' from name
nam
}
}
''',
),
);
final result = await client.query(options);
print(result.toString());
await Future<void>.delayed(Duration(seconds: 2));
exit(0);
}