public override void AddMetricStats(Segment segment, TimeSpan durationOfChildren, TransactionMetricStatsCollection txStats, IConfigurationService configService) { var duration = segment.Duration.Value; var exclusiveDuration = TimeSpanMath.Max(TimeSpan.Zero, duration - durationOfChildren); if (!string.IsNullOrEmpty(Model)) { MetricBuilder.TryBuildDatastoreStatementMetric(DatastoreVendorName, _parsedSqlStatement, duration, exclusiveDuration, txStats); MetricBuilder.TryBuildDatastoreVendorOperationMetric(DatastoreVendorName, Operation, duration, exclusiveDuration, txStats, true); } else { MetricBuilder.TryBuildDatastoreVendorOperationMetric(DatastoreVendorName, Operation, duration, exclusiveDuration, txStats, false); } MetricBuilder.TryBuildDatastoreRollupMetrics(DatastoreVendorName, duration, exclusiveDuration, txStats); if (configService.Configuration.InstanceReportingEnabled) { MetricBuilder.TryBuildDatastoreInstanceMetric(DatastoreVendorName, Host, PortPathOrId, duration, duration, txStats); } }