Hive Database Instrumentation
This feature is currently in Beta. Beta features are still in progress and may have bugs. We recognize the irony.
(New in version 7.13.1)
Hive is a lightweight and fast key-value database for Flutter and Dart applications. The sentry_hive package provides Hive
support for database instrumentation and allows you to track the performance of your queries.
The created spans will be attached to the transaction on the scope - if no transaction is on the scope the Hive span will not be sent to Sentry.
Before starting, ensure:
- The Sentry Flutter SDK is initialized. Learn more here.
- Performance Monitoring is set up. Learn more here.
Add the sentry_hive
dependency to install the Hive database instrumentation.
pubspec.yaml
dependencies:
sentry_flutter: ^7.19.0
sentry_hive: ^7.19.0
path_provider: ^2.0.0
Use SentryHive
to initialize the instance:
import 'package:path_provider/path_provider.dart';
import 'package:sentry_hive/sentry_hive.dart';
final appDir = await getApplicationDocumentsDirectory();
SentryHive.init(appDir.path);
import 'package:sentry_hive/sentry_hive.dart';
Future<void> hiveTest() async {
final tr = Sentry.startTransaction(
'hiveTest',
'db',
bindToScope: true,
);
final appDir = await getApplicationDocumentsDirectory();
SentryHive.init(appDir.path);
final catsBox = await SentryHive.openBox<Map>('cats');
await catsBox.put('fluffy', {'name': 'Fluffy', 'age': 4});
await catsBox.put('loki', {'name': 'Loki', 'age': 2});
await catsBox.clear();
await catsBox.close();
SentryHive.close();
await tr.finish(status: const SpanStatus.ok());
}
To view the recorded transaction, log into sentry.io and open your project. Clicking Performance will open a page with transactions, where you can select the just recorded transaction with the name hiveTest
.
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").
- Package:
- pub:sentry_hive
- Version:
- 7.19.0
- Repository:
- https://github.com/getsentry/sentry-dart
- API Documentation:
- https://pub.dev/documentation/sentry_hive/latest/