public override void EmitPartitionHealthEvent( PartitionEntity partition, EntityHealthEvent healthEvent) { AppendHealthEventToFile( string.Format( "partitionHealthEventMetric: ClusterName: {0}, AppName: {1}, ServiceName: {2}, PartitionId: {3}", partition.ClusterName, partition.ApplicationName, partition.ServiceName, partition.PartitionId.ToString()), healthEvent); }
public virtual void EmitPartitionHealthState(PartitionEntity partition) { if (!this.isMetricsEnabled) { return; } this.partitionHealthMetric.LogValue( 1, partition.ClusterName, partition.ApplicationName, partition.ServiceName, partition.PartitionId.ToString(), partition.Health.AggregatedHealthState.ToString()); }
public virtual void LogPartitionHealthEvent( PartitionEntity partition, EntityHealthEvent healthEvent) { MonitoringEventSource.Current.LogPartitionHealthEvent( partition.ClusterName, partition.ApplicationName, partition.ServiceName, partition.PartitionId.ToString(), healthEvent.HealthState.ToString(), healthEvent.Description, healthEvent.Property, healthEvent.SequenceNumber.ToString(), healthEvent.SourceId, healthEvent.IsExpired.ToString()); }
/// <inheritdoc /> public async Task <PartitionEntity> GetPartitionAsync(Guid partitionGuid, CancellationToken token) { var partition = new PartitionEntity( (await FabricClientRetryHelper.ExecuteFabricActionWithRetryAsync(() => this.fabricClient.QueryManager.GetPartitionAsync(partitionGuid), token) .ConfigureAwait(false)).Single()); if (partition.PartitionStatus == ServicePartitionStatus.Deleting) { return(partition); } partition.Application = await this.GetPartitionApplicationAsync(partitionGuid, token).ConfigureAwait(false); partition.Service = await this.GetPartitionServiceAsync(partitionGuid, token).ConfigureAwait(false); return(partition); }
public override Task ProcessPartitionHealthAsync(PartitionEntity partition) { this.eventWriter.LogPartitionHealthState(partition); this.metrics.EmitPartitionHealthState(partition); if (partition.IsHealthEventReportingEnabled( partition.ApplicationName, partition.Health.AggregatedHealthState)) { partition.Health.HealthEvents .ForEachHealthEvent(healthEvent => { this.eventWriter.LogPartitionHealthEvent(partition, healthEvent); }); } return(this.completedTask); }
public virtual void EmitPartitionHealthEvent( PartitionEntity partition, EntityHealthEvent healthEvent) { if (!this.isMetricsEnabled) { return; } this.partitionHealthEventMetric.LogValue( 1, partition.ClusterName, partition.ApplicationName, partition.ServiceName, partition.PartitionId.ToString(), healthEvent.HealthState.ToString(), healthEvent.SourceId, healthEvent.Property, healthEvent.IsExpired.ToString()); }