Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
55d950d
Add IAGNamedTraceEventID
jcmosc Jul 1, 2026
0821272
Rename trace_options to trace_flags
jcmosc Aug 3, 2026
1592779
Add IAG::Encoder
jcmosc Aug 3, 2026
89eb139
Add encode methods for Subgraph, Node, IndirectNode and TreeElement
jcmosc Aug 4, 2026
0b706c2
Change type of Trace.id to IAGUniqueID
jcmosc Aug 4, 2026
d8ab8cf
Update signatures of trace methods
jcmosc Aug 4, 2026
0fc67cb
Finish implementation of TraceRecorder
jcmosc Aug 4, 2026
ecd84dd
Use <ranges> to enumerate traces in reverse
jcmosc Aug 4, 2026
bbfff09
Change description file extension to iag-gzon
jcmosc Aug 4, 2026
8d0c722
Add uuid-dev dependency to devcontainer.json
jcmosc Aug 4, 2026
1173432
Add uuid-dev dependency to GitHub Actions
jcmosc Aug 4, 2026
e17b128
Update compatibility testing framework
jcmosc Aug 4, 2026
b6629ff
Only implement backtrace on macOS
jcmosc Aug 4, 2026
bbafbe3
Refine IAGUniqueID to UniqueID in Swift
jcmosc Aug 4, 2026
e0b330a
Ensure deadline value is passed through SetDeadline trace event
jcmosc Aug 4, 2026
9f72114
Implement Graph.addTraceEvent Swift refinements
jcmosc Aug 5, 2026
c4ac797
Guard against null objects in ExternalTrace
jcmosc Aug 5, 2026
73a0ce5
Update .swiftinterface files in CompatibilityTesting
jcmosc Aug 5, 2026
bc1e7ff
Add Swift refinement for IAGInputOptions
jcmosc Aug 5, 2026
b2ea42a
Add separate SubgraphLifecycleTests
jcmosc Aug 5, 2026
1aba9e2
Make properties of TestTrace private
jcmosc Aug 5, 2026
bd082d3
Second parameter to begin_subgraph_update trace method is subgraph flags
jcmosc Aug 6, 2026
bb119e6
Fix signatures of IAGGraphSyncTracing and IAGGraphCopyTracePath
jcmosc Aug 6, 2026
81dbbf1
Update signature of IAGGraphAddNamedTraceEvent and add Swift refinements
jcmosc Aug 6, 2026
51435a2
Add remaining convenience properties to TestTraceRecorder.History
jcmosc Aug 6, 2026
e028c45
Silence warning
jcmosc Aug 6, 2026
d0bf79f
Add TracingCustomEventTests
jcmosc Aug 6, 2026
f5a0049
Add TracingNamedEventTests
jcmosc Aug 6, 2026
0482b37
Add TracingNodeLifecycleTests
jcmosc Aug 6, 2026
cd5be1b
Add TracingIndirectNodeLifecycleTests
jcmosc Aug 6, 2026
6751144
Add TracingGraphLifecycleTests
jcmosc Aug 6, 2026
f92ebdb
Add TracingSubgraphLifecycleTests
jcmosc Aug 6, 2026
349b776
Add default arguments to addNamedTraceEvent
jcmosc Aug 6, 2026
c41aba5
Add TracingUpdateTests
jcmosc Aug 6, 2026
53bea0c
Add TracingTraceTests
jcmosc Aug 6, 2026
69b01fe
Add TracingGraphInvalidationTests
jcmosc Aug 6, 2026
3337bec
Add TracingDeadlineTests
jcmosc Aug 6, 2026
088c5e5
Add TracingComparisionTests
jcmosc Aug 6, 2026
3f6303f
Run swift format
jcmosc Aug 6, 2026
be70180
Delete stray line of code
jcmosc Aug 7, 2026
6822ab9
Fix casting from Data to CFData on Linux
jcmosc Aug 7, 2026
770cee0
Fix casting from CFData to Data on Linux in tests
jcmosc Aug 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"ppa": "false"
},
"ghcr.io/devcontainers-extra/features/apt-get-packages:1": {
"packages": "libssl-dev"
"packages": "libssl-dev,uuid-dev"
}
},
"runArgs": [
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/swift.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
- name: Install dependencies
run: |
apt-get update
apt-get install -y libssl-dev
apt-get install -y libssl-dev uuid-dev
- uses: actions/checkout@v6
with:
submodules: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,22 @@
#define AG_INLINE static inline
#endif

#ifndef AG_NOINLINE
#if __has_attribute(noinline)
#define AG_NOINLINE __attribute__((noinline))
#else
#define AG_NOINLINE
#endif
#endif

#ifndef AG_OPTNONE
#if __has_attribute(optnone)
#define AG_OPTNONE __attribute__((optnone))
#else
#define AG_OPTNONE
#endif
#endif

#ifndef AG_RETURNS_RETAINED
#if __has_feature(attribute_cf_returns_retained)
#define AG_RETURNS_RETAINED __attribute__((cf_returns_retained))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,62 +2,70 @@

#include <AttributeGraph/AGBase.h>
#include <AttributeGraph/AGGraph.h>
#include <AttributeGraph/AGUniqueID.h>

typedef AG_OPTIONS(uint32_t, AGGraphTraceOptions) {
AGGraphTraceOptionsEnabled = 1 << 0,
AGGraphTraceOptionsFull = 1 << 1,
AGGraphTraceOptionsBacktrace = 1 << 2,
AGGraphTraceOptionsPrepare = 1 << 3,
AGGraphTraceOptionsCustom = 1 << 4,
AGGraphTraceOptionsAll = 1 << 5,
} AG_SWIFT_NAME(AGGraphRef.TraceOptions);
typedef AG_OPTIONS(uint32_t, AGGraphTraceFlags) {
AGGraphTraceFlagsEnabled = 1 << 0,
AGGraphTraceFlagsFull = 1 << 1,
AGGraphTraceFlagsBacktrace = 1 << 2,
AGGraphTraceFlagsPrepare = 1 << 3,
AGGraphTraceFlagsCustom = 1 << 4,
AGGraphTraceFlagsAll = 1 << 5,
} AG_SWIFT_NAME(AGGraphRef.TraceFlags);

typedef struct AGTraceType *AGTraceTypeRef;

typedef uint32_t AGNamedTraceEventID AG_SWIFT_STRUCT AG_SWIFT_NAME(Graph.NamedTraceEventID);

typedef AG_OPTIONS(uint32_t, AGNamedTraceEventFlags) {
AGNamedTraceEventFlagsRecordBacktrace = 1ul << 31,
} AG_SWIFT_NAME(Graph.NamedTraceEventFlags);

AG_ASSUME_NONNULL_BEGIN
AG_IMPLICIT_BRIDGING_ENABLED

AG_EXTERN_C_BEGIN

AG_EXPORT
AG_REFINED_FOR_SWIFT
void AGGraphStartTracing(AGGraphRef _Nullable graph, AGGraphTraceOptions trace_options)
AG_SWIFT_NAME(AGGraphRef.startTracing(_:options:));
void AGGraphStartTracing(AGGraphRef _Nullable graph, AGGraphTraceFlags trace_flags)
AG_SWIFT_NAME(AGGraphRef.startTracing(_:flags:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
void AGGraphStartTracing2(AGGraphRef _Nullable graph, AGGraphTraceOptions trace_options,
CFArrayRef _Nullable subsystems)
AG_SWIFT_NAME(AGGraphRef.startTracing(_:options:subsystems:));
void AGGraphStartTracing2(AGGraphRef _Nullable graph, AGGraphTraceFlags trace_flags, CFArrayRef _Nullable subsystems)
AG_SWIFT_NAME(AGGraphRef.startTracing(_:flags:subsystems:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
void AGGraphStopTracing(AGGraphRef _Nullable graph) AG_SWIFT_NAME(AGGraphRef.stopTracing(_:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
void AGGraphSyncTracing(AGGraphRef graph) AG_SWIFT_NAME(AGGraphRef.syncTracing(self:));
void AGGraphSyncTracing(AGGraphRef _Nullable graph) AG_SWIFT_NAME(AGGraphRef.syncTracing(self:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
CFStringRef AGGraphCopyTracePath(AGGraphRef graph) AG_SWIFT_NAME(getter:AGGraphRef.tracePath(self:));
CFStringRef _Nullable AGGraphCopyTracePath(AGGraphRef _Nullable graph) AG_SWIFT_NAME(AGGraphRef.tracePath(_:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
uint64_t AGGraphAddTrace(AGGraphRef graph, const AGTraceTypeRef trace, void *_Nullable context)
AG_SWIFT_NAME(AGGraphRef.addTrace(self:_:context:));
void AGGraphSetTrace(AGGraphRef graph, const AGTraceTypeRef trace, void *_Nullable context)
AG_SWIFT_NAME(AGGraphRef.setTrace(self:_:context:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
void AGGraphRemoveTrace(AGGraphRef graph, uint64_t trace_id) AG_SWIFT_NAME(AGGraphRef.removeTrace(self:traceID:));
void AGGraphResetTrace(AGGraphRef graph) AG_SWIFT_NAME(AGGraphRef.resetTrace(self:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
void AGGraphSetTrace(AGGraphRef graph, const AGTraceTypeRef trace, void *_Nullable context)
AG_SWIFT_NAME(AGGraphRef.setTrace(self:_:context:));
AGUniqueID AGGraphAddTrace(AGGraphRef graph, const AGTraceTypeRef trace, void *_Nullable context)
AG_SWIFT_NAME(AGGraphRef.addTrace(self:_:context:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
void AGGraphResetTrace(AGGraphRef graph) AG_SWIFT_NAME(AGGraphRef.resetTrace(self:));
void AGGraphRemoveTrace(AGGraphRef graph, AGUniqueID trace_id)
AG_SWIFT_NAME(AGGraphRef.removeTrace(self:traceID:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
Expand All @@ -69,34 +77,36 @@ void AGGraphPrepareTrace(AGGraphRef graph, const AGTraceTypeRef trace, void *_Nu

AG_EXPORT
AG_REFINED_FOR_SWIFT
bool AGGraphTraceEventEnabled(AGGraphRef graph, uint32_t event_id)
AG_SWIFT_NAME(AGGraphRef.traceEventEnabled(self:for:));
void AGGraphAddTraceEvent(AGGraphRef graph, const char *event_name, const void *value, AGTypeID type)
AG_SWIFT_NAME(AGGraphRef.addTraceEvent(self:name:value:type:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
void AGGraphAddTraceEvent(AGGraphRef graph, const char *event_name, const void *value, AGTypeID type)
AG_SWIFT_NAME(AGGraphRef.addTraceEvent(self:name:value:type:));
bool AGGraphTraceEventEnabled(AGGraphRef graph, uint32_t event_id)
AG_SWIFT_NAME(AGGraphRef.traceEventEnabled(self:for:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
void AGGraphAddNamedTraceEvent(AGGraphRef graph, uint32_t event_id, uint32_t event_arg_count, const void *event_args,
CFDataRef data, uint32_t arg6)
AG_SWIFT_NAME(AGGraphRef.addNamedTraceEvent(self:eventID:eventArgCount:eventArgs:data:arg6:));
AGNamedTraceEventID AGGraphRegisterNamedTraceEvent(const char *event_name, const char *event_subsystem)
AG_SWIFT_NAME(AGGraphRef.registerNamedTraceEvent(name:subsystem:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
const char *_Nullable AGGraphGetTraceEventName(uint32_t event_id) AG_SWIFT_NAME(AGGraphRef.traceEventName(for:));
const char *_Nullable AGGraphGetTraceEventName(AGNamedTraceEventID event_id) AG_SWIFT_NAME(AGGraphRef.traceEventName(for:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
const char *_Nullable AGGraphGetTraceEventSubsystem(uint32_t event_id)
const char *_Nullable AGGraphGetTraceEventSubsystem(AGNamedTraceEventID event_id)
AG_SWIFT_NAME(AGGraphRef.traceEventSubsystem(for:));

AG_EXPORT
AG_REFINED_FOR_SWIFT
uint32_t AGGraphRegisterNamedTraceEvent(const char *event_name, const char *event_subsystem)
AG_SWIFT_NAME(AGGraphRef.registerNamedTraceEvent(name:subsystem:));
void AGGraphAddNamedTraceEvent(AGGraphRef graph, AGNamedTraceEventID event_id, size_t event_arg_count,
const uint32_t *_Nullable AG_COUNTED_BY(event_arg_count) event_args,
CFDataRef _Nullable data, AGNamedTraceEventFlags flags)
AG_SWIFT_NAME(AGGraphRef.addNamedTraceEvent(self:eventID:eventArgCount:eventArgs:data:flags:));

AG_EXTERN_C_END

AG_IMPLICIT_BRIDGING_DISABLED
AG_ASSUME_NONNULL_END
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ typedef AG_OPTIONS(uint8_t, AGInputOptions) {
AGInputOptionsAlwaysEnabled = 1 << 2,
AGInputOptionsChanged = 1 << 3,
AGInputOptionsEnabled = 1 << 4,
};
} AG_SWIFT_NAME(InputOptions);

AG_EXTERN_C_END

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

#include <AttributeGraph/AGBase.h>
#include <AttributeGraph/AGGraph.h>
#include <AttributeGraph/AGGraphTracing.h>
#include <AttributeGraph/AGSubgraph.h>

AG_ASSUME_NONNULL_BEGIN
Expand All @@ -14,18 +15,18 @@ typedef AG_ENUM(uint64_t, AGTraceTypeVersion) {
AGTraceTypeVersionNamed = 2,
AGTraceTypeVersionDeadline = 3,
AGTraceTypeVersionCompareFailed = 4,
};
} AG_SWIFT_NAME(Graph.TraceType.Version);

typedef struct AG_SWIFT_NAME(TraceType) AGTraceType {
typedef struct AG_SWIFT_NAME(Graph.TraceType) AGTraceType {
AGTraceTypeVersion version;

void (*_Nullable begin_trace)(void *_Nullable context, AGGraphRef graph);
void (*_Nullable end_trace)(void *_Nullable context, AGGraphRef graph);

void (*_Nullable begin_subgraph_update)(void *_Nullable context, AGSubgraphRef subgraph, uint32_t options);
void (*_Nullable begin_subgraph_update)(void *_Nullable context, AGSubgraphRef subgraph, AGAttributeFlags subgraph_flags);
void (*_Nullable end_subgraph_update)(void *_Nullable context, AGSubgraphRef subgraph);
void (*_Nullable begin_node_update)(void *_Nullable context, AGAttribute attribute);
void (*_Nullable end_node_update)(void *_Nullable context, bool changed);
void (*_Nullable end_node_update)(void *_Nullable context, AGAttribute attribute, bool changed);
void (*_Nullable begin_value_update)(void *_Nullable context, AGAttribute attribute);
void (*_Nullable end_value_update)(void *_Nullable context, AGAttribute attribute, bool changed);
void (*_Nullable begin_graph_update)(void *_Nullable context, AGGraphRef graph);
Expand All @@ -51,12 +52,12 @@ typedef struct AG_SWIFT_NAME(TraceType) AGTraceType {

void (*_Nullable node_added)(void *_Nullable context, AGAttribute attribute);
void (*_Nullable node_add_edge)(void *_Nullable context, AGAttribute attribute, AGAttribute input, AGInputOptions input_options);
void (*_Nullable node_remove_edge)(void *_Nullable context, AGAttribute attribute, uint32_t index);
void (*_Nullable node_remove_edge)(void *_Nullable context, AGAttribute attribute, AGAttribute input);
void (*_Nullable node_set_edge_pending)(void *_Nullable context, AGAttribute attribute, AGAttribute input, bool pending);

void (*_Nullable node_set_dirty)(void *_Nullable context, AGAttribute attribute, bool dirty);
void (*_Nullable node_set_pending)(void *_Nullable context, AGAttribute attribute, bool pending);
void (*_Nullable node_set_value)(void *_Nullable context, AGAttribute attribute);
void (*_Nullable node_set_value)(void *_Nullable context, AGAttribute attribute, const void *value);
void (*_Nullable node_mark_value)(void *_Nullable context, AGAttribute attribute);

void (*_Nullable indirect_node_added)(void *_Nullable context, AGAttribute attribute);
Expand All @@ -65,13 +66,15 @@ typedef struct AG_SWIFT_NAME(TraceType) AGTraceType {

void (*_Nullable profile_mark)(void *_Nullable context, const char *event_name);

void (*_Nullable custom_event)(void *_Nullable context, AGGraphRef graph, const char *event_name, const void *value,
AGTypeID type);
void (*_Nullable named_event)(void *_Nullable context, AGGraphRef graph, uint32_t eventID, uint32_t eventArgCount,
const void *eventArgs, CFDataRef data, uint32_t arg6);
bool (*_Nullable named_event_enabled)(void *_Nullable context);
void (*_Nullable custom_event)(void *_Nullable context, AGGraphRef graph, const char *event_name,
const void *value, AGTypeID type);
void (*_Nullable named_event)(void *_Nullable context, AGGraphRef graph, AGNamedTraceEventID event_id,
size_t event_arg_count,
const uint32_t *_Nullable AG_COUNTED_BY(event_arg_count) event_args,
CFDataRef _Nullable data, AGNamedTraceEventFlags flags);
bool (*_Nullable named_event_enabled)(void *_Nullable context, AGNamedTraceEventID event_id);

void (*_Nullable set_deadline)(void *_Nullable context);
void (*_Nullable set_deadline)(void *_Nullable context, uint64_t deadline);
void (*_Nullable passed_deadline)(void *_Nullable context);

void (*_Nullable compare_failed)(void *_Nullable context, AGAttribute attribute, AGComparisonState comparisonState);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ AG_ASSUME_NONNULL_BEGIN

AG_EXTERN_C_BEGIN

typedef long AGUniqueID;
typedef long AGUniqueID AG_SWIFT_NAME(UniqueID);

AGUniqueID AGMakeUniqueID(void) AG_SWIFT_NAME(makeUniqueID());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ extension AttributeGraph.AnyAttribute {
public func visitBody<Visitor>(_ visitor: inout Visitor) where Visitor : AttributeGraph.AttributeBodyVisitor
public func mutateBody<Body>(as type: Body.Type, invalidating: Swift.Bool, _ mutator: (inout Body) -> Swift.Void)
public func setFlags(_ newFlags: AttributeGraph.Subgraph.Flags, mask: AttributeGraph.Subgraph.Flags)
public func addInput(_ input: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions, token: Swift.Int)
public func addInput<T>(_ input: AttributeGraph.Attribute<T>, options: AttributeGraph.AGInputOptions, token: Swift.Int)
public func addInput(_ input: AttributeGraph.AnyAttribute, options: AttributeGraph.InputOptions, token: Swift.Int)
public func addInput<T>(_ input: AttributeGraph.Attribute<T>, options: AttributeGraph.InputOptions, token: Swift.Int)
public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute
public var indirectDependency: AttributeGraph.AnyAttribute? {
get
Expand Down Expand Up @@ -71,8 +71,8 @@ extension AttributeGraph.AnyAttribute {
public func setFlags(_ newFlags: AttributeGraph.Subgraph.Flags, mask: AttributeGraph.Subgraph.Flags)
public func applying<Member>(offset: AttributeGraph.PointerOffset<Value, Member>) -> AttributeGraph.Attribute<Member>
public func mutateBody<Body>(as bodyType: Body.Type, invalidating: Swift.Bool, _ mutator: (inout Body) -> Swift.Void)
public func addInput<T>(_ input: AttributeGraph.Attribute<T>, options: AttributeGraph.AGInputOptions, token: Swift.Int)
public func addInput(_ input: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions, token: Swift.Int)
public func addInput<T>(_ input: AttributeGraph.Attribute<T>, options: AttributeGraph.InputOptions, token: Swift.Int)
public func addInput(_ input: AttributeGraph.AnyAttribute, options: AttributeGraph.InputOptions, token: Swift.Int)
public func breadthFirstSearch(options: AttributeGraph.SearchOptions, _ predicate: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool
public func validate()
public var value: Value {
Expand Down Expand Up @@ -579,8 +579,27 @@ extension AttributeGraph.Graph {
public static func resetProfile()
}
extension AttributeGraph.Graph {
public func addTraceEvent<T>(_ event: Swift.UnsafePointer<Swift.Int8>, value: T)
public func addTraceEvent<T>(_ event: Swift.UnsafePointer<Swift.Int8>, context: Swift.UnsafePointer<T>)
public func addTraceEvent<Value>(_ event: Swift.UnsafePointer<Swift.Int8>, value: Value)
public func addTraceEvent<Value>(_ event: Swift.UnsafePointer<Swift.Int8>, context: Swift.UnsafePointer<Value>)
@_transparent public static func registerNamedTraceEvent(name: Swift.String, subsystem: Swift.String) -> AttributeGraph.Graph.NamedTraceEventID {
name.withCString { namePointer in
subsystem.withCString { subsystemPointer in
Graph.registerNamedTraceEvent(
name: namePointer,
subsystem: subsystemPointer
)
}
}
}
@_transparent public func addNamedTraceEvent(_ eventID: AttributeGraph.Graph.NamedTraceEventID, eventArgs: [Swift.UInt32] = [], data: Foundation.Data? = nil, flags: AttributeGraph.Graph.NamedTraceEventFlags = []) {
addNamedTraceEvent(
eventID: eventID,
eventArgCount: eventArgs.count,
eventArgs: eventArgs,
data: data as CFData?,
flags: flags
)
}
}
extension AttributeGraph.Graph {
public func print(includeValues: Swift.Bool)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ extension AttributeGraph.AnyAttribute {
public func visitBody<Visitor>(_ visitor: inout Visitor) where Visitor : AttributeGraph.AttributeBodyVisitor
public func mutateBody<Body>(as type: Body.Type, invalidating: Swift.Bool, _ mutator: (inout Body) -> Swift.Void)
public func setFlags(_ newFlags: AttributeGraph.Subgraph.Flags, mask: AttributeGraph.Subgraph.Flags)
public func addInput(_ input: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions, token: Swift.Int)
public func addInput<T>(_ input: AttributeGraph.Attribute<T>, options: AttributeGraph.AGInputOptions, token: Swift.Int)
public func addInput(_ input: AttributeGraph.AnyAttribute, options: AttributeGraph.InputOptions, token: Swift.Int)
public func addInput<T>(_ input: AttributeGraph.Attribute<T>, options: AttributeGraph.InputOptions, token: Swift.Int)
public func unsafeOffset(at offset: Swift.Int) -> AttributeGraph.AnyAttribute
public var indirectDependency: AttributeGraph.AnyAttribute? {
get
Expand Down Expand Up @@ -71,8 +71,8 @@ extension AttributeGraph.AnyAttribute {
public func setFlags(_ newFlags: AttributeGraph.Subgraph.Flags, mask: AttributeGraph.Subgraph.Flags)
public func applying<Member>(offset: AttributeGraph.PointerOffset<Value, Member>) -> AttributeGraph.Attribute<Member>
public func mutateBody<Body>(as bodyType: Body.Type, invalidating: Swift.Bool, _ mutator: (inout Body) -> Swift.Void)
public func addInput<T>(_ input: AttributeGraph.Attribute<T>, options: AttributeGraph.AGInputOptions, token: Swift.Int)
public func addInput(_ input: AttributeGraph.AnyAttribute, options: AttributeGraph.AGInputOptions, token: Swift.Int)
public func addInput<T>(_ input: AttributeGraph.Attribute<T>, options: AttributeGraph.InputOptions, token: Swift.Int)
public func addInput(_ input: AttributeGraph.AnyAttribute, options: AttributeGraph.InputOptions, token: Swift.Int)
public func breadthFirstSearch(options: AttributeGraph.SearchOptions, _ predicate: (AttributeGraph.AnyAttribute) -> Swift.Bool) -> Swift.Bool
public func validate()
public var value: Value {
Expand Down Expand Up @@ -579,8 +579,27 @@ extension AttributeGraph.Graph {
public static func resetProfile()
}
extension AttributeGraph.Graph {
public func addTraceEvent<T>(_ event: Swift.UnsafePointer<Swift.Int8>, value: T)
public func addTraceEvent<T>(_ event: Swift.UnsafePointer<Swift.Int8>, context: Swift.UnsafePointer<T>)
public func addTraceEvent<Value>(_ event: Swift.UnsafePointer<Swift.Int8>, value: Value)
public func addTraceEvent<Value>(_ event: Swift.UnsafePointer<Swift.Int8>, context: Swift.UnsafePointer<Value>)
@_transparent public static func registerNamedTraceEvent(name: Swift.String, subsystem: Swift.String) -> AttributeGraph.Graph.NamedTraceEventID {
name.withCString { namePointer in
subsystem.withCString { subsystemPointer in
Graph.registerNamedTraceEvent(
name: namePointer,
subsystem: subsystemPointer
)
}
}
}
@_transparent public func addNamedTraceEvent(_ eventID: AttributeGraph.Graph.NamedTraceEventID, eventArgs: [Swift.UInt32] = [], data: Foundation.Data? = nil, flags: AttributeGraph.Graph.NamedTraceEventFlags = []) {
addNamedTraceEvent(
eventID: eventID,
eventArgCount: eventArgs.count,
eventArgs: eventArgs,
data: data as CFData?,
flags: flags
)
}
}
extension AttributeGraph.Graph {
public func print(includeValues: Swift.Bool)
Expand Down
Loading