Activity 类

定义

表示具有要用于日志记录的上下文的操作。

public ref class Activity : IDisposable
public ref class Activity
public class Activity : IDisposable
public class Activity
type Activity = class
    interface IDisposable
type Activity = class
Public Class Activity
Implements IDisposable
Public Class Activity
继承
Activity
实现

注解

具有 Activity 操作名称、ID、开始时间和持续时间、标记和行李。

可以使用静态 Activity.Current 属性访问当前活动。

活动应通过调用构造函数(根据需要进行配置)创建,然后使用 方法启动 Start ,该方法维护活动的父子关系并设置 Activity.Current

活动完成后,应使用 Activity.Stop() 方法停止该活动。

但是,如果释放 Activity 对象,则会停止它,因此无需显式调用 Activity.Stop()。 这简化了编码模式。 有关更多信息,请参见 Dispose 方法。

没有 Activity 方法允许异常作为对错误输入的响应进行转义。 它们 (引发并捕获,这允许调试器和监视器查看错误) ,但异常将被抑制,并且操作执行合理的操作 (通常不会) 执行任何操作。

构造函数

Activity(String)

初始化 Activity 类的新实例。

属性

ActivityTraceFlags

获取或设置与活动关联的标志(由 W3C ID 规范定义)。

Baggage

获取键/值对的集合,它表示传递给此 Activity 的子元素的信息。

Context

获取活动的上下文。 仅当活动启动时,上下文才会生效。

Current

获取或设置当前线程的当前操作 (Activity)。 这会跨异步调用传递。

DefaultIdFormat

获取或设置 Activity 的默认 ID 格式。

DisplayName

获取或设置活动的显示名称。

Duration

获取操作的持续时间。

Events

获取附加到此活动的所有活动事件的列表。

ForceDefaultIdFormat

获取或设置一个值,该值确定 DefaultIdFormat 是否始终用于定义默认 ID 格式。

HasRemoteParent

获取一个值,该值指示父上下文是否是从远程传播创建的。

Id

获取特定请求专属的标识符。

IdFormat

获取 Id 的格式。

IsAllDataRequested

获取或设置一个值,它指示此活动是否该用所有传播信息和其他所有属性(如链接、标记和事件)进行填充。

IsStopped

获取一个值,该值指示此 Activity 对象是否停止。

Kind

获取跟踪中的活动、其父活动和子活动之间的关系。

Links

获取附加到此活动的所有活动链接的列表。

OperationName

获取操作名称。

Parent

获取创建此活动的父级 Activity

ParentId

获取此活动父级的 ID。

ParentSpanId

获取父级的 SpanId

Recorded

获取一个值,指示是否已设置 W3CIdFlags.Recorded 标志。

RootId

获取此 Activity 的根 ID。

Source

获取与此活动关联的活动源。

SpanId

获取 Id 的 SPAN 部分。

StartTimeUtc

获取操作开始的时间。

Status

获取当前活动对象的状态代码。

StatusDescription

获取当前活动对象的状态说明。

TagObjects

获取表示要与活动一起记录的信息的标记列表。 此信息不会传递给该活动的子级。

Tags

获取键/值对的集合,这些键/值对表示将与 Activity 一起记录到日志系统的信息。

TraceId

获取 Id 的 TraceId 部分。

TraceIdGenerator

启动没有父上下文的活动时,将使用随机数自动生成跟踪 ID。 TraceIdGenerator 可用于替代运行时的默认跟踪 ID 生成算法。

TraceStateString

获取或设置 W3C tracestate 标头。

方法

AddBaggage(String, String)

更新 Activity,使用指定的键和值获取新的行李项。

AddEvent(ActivityEvent)

将指定的活动事件添加到事件列表。

AddTag(String, Object)

更新活动,使标记具有额外的 keyvalue

AddTag(String, String)

更新 Activity,使用所提供的 keyvalue 获取新标记。

Dispose()

如果活动已启动,则停止活动,并通知任何事件侦听器。 否则,不会有任何操作。

Dispose(Boolean)

当被派生类型替代时,此方法会释放所有已分配的资源。

EnumerateEvents()

枚举 ActivityEvent 附加到此 Activity 对象的 对象。

EnumerateLinks()

枚举 ActivityLink 附加到此 Activity 对象的 对象。

EnumerateTagObjects()

枚举附加到此 Activity 对象的标记。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetBaggageItem(String)

返回通过 AddBaggage(String, String) 添加到活动的键值对的值。

GetCustomProperty(String)

返回映射到指定属性名称的对象。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetTagItem(String)

返回映射到输入键/>的活动标记的值。 null如果该键不存在,则返回 。

GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
SetBaggage(String, String)

使用输入键和值添加或更新活动包。 如果输入值为 null - 如果集合有任何具有相同密钥的行李,则此行李将从集合中删除。 - 否则,不会发生任何操作,并且集合不会更改。 如果输入值不 null 为 - 如果集合有任何具有相同键的行李,则映射到此键的值将更新为新的输入值。 - 否则,键和值将作为新行李添加到集合中。 仅当行李项目是原创添加到当前活动中时,才会更新/删除。 不会更改/删除从父级继承的项目,而是将新项目添加到当前活动行李中。

SetCustomProperty(String, Object)

将任何自定义对象附加到此活动。 如果指定的 propertyName 之前与另一个对象关联,则会将属性更新为与新的 propertyValue 关联。 建议使用唯一属性名称,以避免与使用相同值的任何用户冲突。

SetEndTime(DateTime)

更新 Activity,将其 Duration 设置为 StartTimeUtc 与指定的停止时间之间的差值。

SetIdFormat(ActivityIdFormat)

在开始前,设置此 Activity 的 ID 格式。

SetParentId(ActivityTraceId, ActivitySpanId, ActivityTraceFlags)

使用 TraceId 和 SpanId 的 W3C 约定设置父 ID。

SetParentId(String)

更新此 Activity,以指示 ID 为 parentIdActivity 导致了此 Activity

SetStartTime(DateTime)

设置此 Activity 的开始时间。

SetStatus(ActivityStatusCode, String)

设置当前活动对象的状态代码和说明。

SetTag(String, Object)

使用输入键和值添加或更新活动标记。

Start()

启动活动。

Stop()

停止活动。

ToString()

返回表示当前对象的字符串。

(继承自 Object)

事件

CurrentChanged

Current 值更改时发生。

适用于