1829 lines
52 KiB
JSON
1829 lines
52 KiB
JSON
[
|
|
{
|
|
"sdk": "1.5.378.0",
|
|
"process": 35798,
|
|
"cases": [
|
|
{
|
|
"name": "trusted-SignAndEncrypt-API-key",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "raw-UNS-URI-browse",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "initial-quality-explicit-source-and-server-timestamps",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "scalar-read-write-ns-2",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "typed-array-read-write-ns-2",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "scalar-read-write-ns-3",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "typed-array-read-write-ns-3",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "monitor-quality-timestamps",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "event-filter-and-native-ack",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "raw-history-CP-paging",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "event-history-CP-paging",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "event-history-where-filter-positive-and-negative",
|
|
"status": "passed"
|
|
}
|
|
],
|
|
"observations": [
|
|
{
|
|
"SecurityMode": "SignAndEncrypt",
|
|
"SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"
|
|
},
|
|
{
|
|
"rawChildren": [
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Scalar",
|
|
"DisplayName": "Scalar",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Vector",
|
|
"DisplayName": "Vector",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Alarm",
|
|
"DisplayName": "Alarm",
|
|
"NodeClass": "Object",
|
|
"HasChildren": true
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/UnsetTimestamp",
|
|
"DisplayName": "UnsetTimestamp",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
}
|
|
],
|
|
"unsChildren": [
|
|
{
|
|
"NodeId": "ns=3;s=Eq/Scalar",
|
|
"DisplayName": "Scalar",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=3;s=Eq/Vector",
|
|
"DisplayName": "Vector",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Alarm",
|
|
"DisplayName": "Alarm",
|
|
"NodeClass": "Object",
|
|
"HasChildren": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"rawReferences": [
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/Scalar",
|
|
"browseName": "2:Matrix/dev/Scalar",
|
|
"nodeClass": "Variable",
|
|
"typeDefinition": "i=63",
|
|
"referenceType": "i=35",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/Vector",
|
|
"browseName": "2:Matrix/dev/Vector",
|
|
"nodeClass": "Variable",
|
|
"typeDefinition": "i=63",
|
|
"referenceType": "i=35",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/Alarm",
|
|
"browseName": "2:Alarm",
|
|
"nodeClass": "Object",
|
|
"typeDefinition": "i=10637",
|
|
"referenceType": "i=47",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/UnsetTimestamp",
|
|
"browseName": "2:Matrix/dev/UnsetTimestamp",
|
|
"nodeClass": "Variable",
|
|
"typeDefinition": "i=63",
|
|
"referenceType": "i=35",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "i=61",
|
|
"browseName": "FolderType",
|
|
"nodeClass": "ObjectType",
|
|
"typeDefinition": "i=0",
|
|
"referenceType": "i=40",
|
|
"IsForward": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"sourceTimestamp": "2026-10-01T00:00:00.0000000Z",
|
|
"serverTimestamp": "2026-11-10T17:18:50.5069120Z",
|
|
"contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes"
|
|
},
|
|
{
|
|
"sourceTimestamp": "2026-11-10T17:18:50.5501200Z",
|
|
"serverTimestamp": "2026-11-10T17:18:50.5504940Z",
|
|
"status": "Good"
|
|
},
|
|
{
|
|
"sourceTimestamp": "2026-11-10T17:18:51.0307070Z",
|
|
"serverTimestamp": "2026-11-10T17:18:51.0307070Z",
|
|
"timestampObservation": "Fixture source supplied DateTime.MinValue (unset). These are unmodified application/SDK wire observations; no historian algorithm or expected timestamp was changed."
|
|
},
|
|
{
|
|
"benchmarkRound": 1,
|
|
"warmupOperationsPerKind": 10,
|
|
"operationsPerKind": 50,
|
|
"latencyMilliseconds": {
|
|
"scalar-read": {
|
|
"p50": 0.242,
|
|
"p95": 0.2874,
|
|
"p99": 0.377,
|
|
"throughputOperationsPerSecond": 4045.176531503835
|
|
},
|
|
"scalar-write": {
|
|
"p50": 0.205,
|
|
"p95": 0.2538,
|
|
"p99": 0.2577,
|
|
"throughputOperationsPerSecond": 4893.133954435136
|
|
},
|
|
"array-read": {
|
|
"p50": 0.1648,
|
|
"p95": 0.2271,
|
|
"p99": 0.2526,
|
|
"throughputOperationsPerSecond": 5757.2512579593995
|
|
},
|
|
"array-write": {
|
|
"p50": 0.1967,
|
|
"p95": 0.2315,
|
|
"p99": 0.2373,
|
|
"throughputOperationsPerSecond": 5084.711290092947
|
|
}
|
|
},
|
|
"clientCpuMilliseconds": 53.338,
|
|
"clientAllocatedBytes": 1326176,
|
|
"clientAllocatedBytesPerOperation": 6630.88,
|
|
"clientWorkingSetBytes": 136003584,
|
|
"clientPrivateBytes": 0,
|
|
"clientThreads": 18,
|
|
"clientHandles": 0,
|
|
"collections": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"benchmarkRound": 2,
|
|
"warmupOperationsPerKind": 10,
|
|
"operationsPerKind": 50,
|
|
"latencyMilliseconds": {
|
|
"scalar-read": {
|
|
"p50": 0.2037,
|
|
"p95": 0.2401,
|
|
"p99": 0.2469,
|
|
"throughputOperationsPerSecond": 4871.632484045405
|
|
},
|
|
"scalar-write": {
|
|
"p50": 0.1556,
|
|
"p95": 0.1965,
|
|
"p99": 0.2119,
|
|
"throughputOperationsPerSecond": 6260.956674179815
|
|
},
|
|
"array-read": {
|
|
"p50": 0.1661,
|
|
"p95": 0.2139,
|
|
"p99": 0.2395,
|
|
"throughputOperationsPerSecond": 5811.588307084326
|
|
},
|
|
"array-write": {
|
|
"p50": 0.2132,
|
|
"p95": 0.2729,
|
|
"p99": 9.1337,
|
|
"throughputOperationsPerSecond": 2547.407248902067
|
|
}
|
|
},
|
|
"clientCpuMilliseconds": 47.557,
|
|
"clientAllocatedBytes": 1326480,
|
|
"clientAllocatedBytesPerOperation": 6632.4,
|
|
"clientWorkingSetBytes": 137641984,
|
|
"clientPrivateBytes": 0,
|
|
"clientThreads": 18,
|
|
"clientHandles": 0,
|
|
"collections": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"benchmarkRound": 3,
|
|
"warmupOperationsPerKind": 10,
|
|
"operationsPerKind": 50,
|
|
"latencyMilliseconds": {
|
|
"scalar-read": {
|
|
"p50": 0.1481,
|
|
"p95": 0.1695,
|
|
"p99": 0.2183,
|
|
"throughputOperationsPerSecond": 6567.454323355181
|
|
},
|
|
"scalar-write": {
|
|
"p50": 0.158,
|
|
"p95": 0.205,
|
|
"p99": 0.2164,
|
|
"throughputOperationsPerSecond": 6207.941198380969
|
|
},
|
|
"array-read": {
|
|
"p50": 0.2134,
|
|
"p95": 0.2418,
|
|
"p99": 2.2267,
|
|
"throughputOperationsPerSecond": 3938.806699122434
|
|
},
|
|
"array-write": {
|
|
"p50": 0.2276,
|
|
"p95": 0.2652,
|
|
"p99": 0.2774,
|
|
"throughputOperationsPerSecond": 4332.004851845434
|
|
}
|
|
},
|
|
"clientCpuMilliseconds": 51.317,
|
|
"clientAllocatedBytes": 1297176,
|
|
"clientAllocatedBytesPerOperation": 6485.88,
|
|
"clientWorkingSetBytes": 139198464,
|
|
"clientPrivateBytes": 0,
|
|
"clientThreads": 18,
|
|
"clientHandles": 0,
|
|
"collections": [
|
|
1,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
],
|
|
"failures": 0,
|
|
"loadedSdkAssemblies": [
|
|
{
|
|
"name": "Opc.Ua.Core",
|
|
"version": "1.5.378.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/Opc.Ua.Core.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Types",
|
|
"version": "1.5.378.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/Opc.Ua.Types.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Configuration",
|
|
"version": "1.5.378.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/Opc.Ua.Configuration.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Security.Certificates",
|
|
"version": "1.5.378.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Client",
|
|
"version": "1.5.378.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/Opc.Ua.Client.dll"
|
|
}
|
|
],
|
|
"name": "baseline-client-to-baseline-server",
|
|
"server": {
|
|
"endpoint": "opc.tcp://127.0.0.1:55610/OtOpcUa",
|
|
"process": 35791,
|
|
"sdk": "1.5.378.0",
|
|
"rawUri": "https://zb.com/otopcua/raw",
|
|
"unsUri": "https://zb.com/otopcua/uns"
|
|
},
|
|
"status": "passed",
|
|
"historyBackendRequests": [
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 5
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
}
|
|
],
|
|
"certificateValidation": "explicit trusted peers; server and Shared client autoaccept disabled",
|
|
"authentication": "ephemeral API-key-shaped credential, exact fixture authenticator; real authority/ACL/method gates"
|
|
},
|
|
{
|
|
"sdk": "1.5.378.0",
|
|
"process": 35821,
|
|
"cases": [
|
|
{
|
|
"name": "trusted-SignAndEncrypt-API-key",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "raw-UNS-URI-browse",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "initial-quality-explicit-source-and-server-timestamps",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "scalar-read-write-ns-2",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "typed-array-read-write-ns-2",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "scalar-read-write-ns-3",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "typed-array-read-write-ns-3",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "monitor-quality-timestamps",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "event-filter-and-native-ack",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "raw-history-CP-paging",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "event-history-CP-paging",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "event-history-where-filter-positive-and-negative",
|
|
"status": "passed"
|
|
}
|
|
],
|
|
"observations": [
|
|
{
|
|
"SecurityMode": "SignAndEncrypt",
|
|
"SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"
|
|
},
|
|
{
|
|
"rawChildren": [
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Scalar",
|
|
"DisplayName": "Scalar",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Vector",
|
|
"DisplayName": "Vector",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Alarm",
|
|
"DisplayName": "Alarm",
|
|
"NodeClass": "Object",
|
|
"HasChildren": true
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/UnsetTimestamp",
|
|
"DisplayName": "UnsetTimestamp",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
}
|
|
],
|
|
"unsChildren": [
|
|
{
|
|
"NodeId": "ns=3;s=Eq/Scalar",
|
|
"DisplayName": "Scalar",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=3;s=Eq/Vector",
|
|
"DisplayName": "Vector",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Alarm",
|
|
"DisplayName": "Alarm",
|
|
"NodeClass": "Object",
|
|
"HasChildren": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"rawReferences": [
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/Scalar",
|
|
"browseName": "2:Matrix/dev/Scalar",
|
|
"nodeClass": "Variable",
|
|
"typeDefinition": "i=63",
|
|
"referenceType": "i=35",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/Vector",
|
|
"browseName": "2:Matrix/dev/Vector",
|
|
"nodeClass": "Variable",
|
|
"typeDefinition": "i=63",
|
|
"referenceType": "i=35",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/Alarm",
|
|
"browseName": "2:Alarm",
|
|
"nodeClass": "Object",
|
|
"typeDefinition": "i=10637",
|
|
"referenceType": "i=47",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/UnsetTimestamp",
|
|
"browseName": "2:Matrix/dev/UnsetTimestamp",
|
|
"nodeClass": "Variable",
|
|
"typeDefinition": "i=63",
|
|
"referenceType": "i=35",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "i=61",
|
|
"browseName": "FolderType",
|
|
"nodeClass": "ObjectType",
|
|
"typeDefinition": "i=0",
|
|
"referenceType": "i=40",
|
|
"IsForward": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"sourceTimestamp": "2026-10-01T00:00:00.0000000Z",
|
|
"serverTimestamp": "2026-11-10T17:18:54.7852690Z",
|
|
"contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes"
|
|
},
|
|
{
|
|
"sourceTimestamp": "2026-11-10T17:18:54.8378960Z",
|
|
"serverTimestamp": "2026-11-10T17:18:54.8394590Z",
|
|
"status": "Good"
|
|
},
|
|
{
|
|
"sourceTimestamp": "2026-11-10T17:18:57.2714180Z",
|
|
"serverTimestamp": "2026-11-10T17:18:57.2714180Z",
|
|
"timestampObservation": "Fixture source supplied DateTime.MinValue (unset). These are unmodified application/SDK wire observations; no historian algorithm or expected timestamp was changed."
|
|
},
|
|
{
|
|
"benchmarkRound": 1,
|
|
"warmupOperationsPerKind": 10,
|
|
"operationsPerKind": 50,
|
|
"latencyMilliseconds": {
|
|
"scalar-read": {
|
|
"p50": 0.2533,
|
|
"p95": 0.3,
|
|
"p99": 0.426,
|
|
"throughputOperationsPerSecond": 3868.681475979357
|
|
},
|
|
"scalar-write": {
|
|
"p50": 0.2655,
|
|
"p95": 0.2867,
|
|
"p99": 0.356,
|
|
"throughputOperationsPerSecond": 3835.09108341323
|
|
},
|
|
"array-read": {
|
|
"p50": 0.2232,
|
|
"p95": 0.2506,
|
|
"p99": 0.2769,
|
|
"throughputOperationsPerSecond": 4446.736984400845
|
|
},
|
|
"array-write": {
|
|
"p50": 0.2108,
|
|
"p95": 0.2629,
|
|
"p99": 0.2857,
|
|
"throughputOperationsPerSecond": 4544.008724496749
|
|
}
|
|
},
|
|
"clientCpuMilliseconds": 54.573,
|
|
"clientAllocatedBytes": 1327336,
|
|
"clientAllocatedBytesPerOperation": 6636.68,
|
|
"clientWorkingSetBytes": 136511488,
|
|
"clientPrivateBytes": 0,
|
|
"clientThreads": 19,
|
|
"clientHandles": 0,
|
|
"collections": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"benchmarkRound": 2,
|
|
"warmupOperationsPerKind": 10,
|
|
"operationsPerKind": 50,
|
|
"latencyMilliseconds": {
|
|
"scalar-read": {
|
|
"p50": 0.2203,
|
|
"p95": 0.2413,
|
|
"p99": 0.2568,
|
|
"throughputOperationsPerSecond": 4530.17549899883
|
|
},
|
|
"scalar-write": {
|
|
"p50": 0.2312,
|
|
"p95": 0.2585,
|
|
"p99": 0.2899,
|
|
"throughputOperationsPerSecond": 4321.745293619376
|
|
},
|
|
"array-read": {
|
|
"p50": 0.1737,
|
|
"p95": 0.2116,
|
|
"p99": 0.2181,
|
|
"throughputOperationsPerSecond": 5682.722251267249
|
|
},
|
|
"array-write": {
|
|
"p50": 0.1794,
|
|
"p95": 0.206,
|
|
"p99": 0.2116,
|
|
"throughputOperationsPerSecond": 5497.64700708097
|
|
}
|
|
},
|
|
"clientCpuMilliseconds": 46.142,
|
|
"clientAllocatedBytes": 1334192,
|
|
"clientAllocatedBytesPerOperation": 6670.96,
|
|
"clientWorkingSetBytes": 138133504,
|
|
"clientPrivateBytes": 0,
|
|
"clientThreads": 19,
|
|
"clientHandles": 0,
|
|
"collections": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"benchmarkRound": 3,
|
|
"warmupOperationsPerKind": 10,
|
|
"operationsPerKind": 50,
|
|
"latencyMilliseconds": {
|
|
"scalar-read": {
|
|
"p50": 0.229,
|
|
"p95": 0.3001,
|
|
"p99": 0.3524,
|
|
"throughputOperationsPerSecond": 4257.094447897421
|
|
},
|
|
"scalar-write": {
|
|
"p50": 0.2543,
|
|
"p95": 0.3046,
|
|
"p99": 3.1119,
|
|
"throughputOperationsPerSecond": 3212.7275414281203
|
|
},
|
|
"array-read": {
|
|
"p50": 0.2009,
|
|
"p95": 0.2322,
|
|
"p99": 0.2545,
|
|
"throughputOperationsPerSecond": 4990.717265885452
|
|
},
|
|
"array-write": {
|
|
"p50": 0.2312,
|
|
"p95": 0.262,
|
|
"p99": 0.2652,
|
|
"throughputOperationsPerSecond": 4318.609753148267
|
|
}
|
|
},
|
|
"clientCpuMilliseconds": 56.307,
|
|
"clientAllocatedBytes": 1277016,
|
|
"clientAllocatedBytesPerOperation": 6385.08,
|
|
"clientWorkingSetBytes": 139689984,
|
|
"clientPrivateBytes": 0,
|
|
"clientThreads": 19,
|
|
"clientHandles": 0,
|
|
"collections": [
|
|
1,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
],
|
|
"failures": 0,
|
|
"loadedSdkAssemblies": [
|
|
{
|
|
"name": "Opc.Ua.Core",
|
|
"version": "1.5.378.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/Opc.Ua.Core.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Types",
|
|
"version": "1.5.378.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/Opc.Ua.Types.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Configuration",
|
|
"version": "1.5.378.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/Opc.Ua.Configuration.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Security.Certificates",
|
|
"version": "1.5.378.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Client",
|
|
"version": "1.5.378.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/Opc.Ua.Client.dll"
|
|
}
|
|
],
|
|
"name": "baseline-client-to-candidate-server",
|
|
"server": {
|
|
"endpoint": "opc.tcp://127.0.0.1:55642/OtOpcUa",
|
|
"process": 35814,
|
|
"sdk": "2.0.1.0",
|
|
"rawUri": "https://zb.com/otopcua/raw",
|
|
"unsUri": "https://zb.com/otopcua/uns"
|
|
},
|
|
"status": "passed",
|
|
"historyBackendRequests": [
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 5
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
}
|
|
],
|
|
"certificateValidation": "explicit trusted peers; server and Shared client autoaccept disabled",
|
|
"authentication": "ephemeral API-key-shaped credential, exact fixture authenticator; real authority/ACL/method gates"
|
|
},
|
|
{
|
|
"sdk": "2.0.1.0",
|
|
"process": 35842,
|
|
"cases": [
|
|
{
|
|
"name": "trusted-SignAndEncrypt-API-key",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "raw-UNS-URI-browse",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "initial-quality-explicit-source-and-server-timestamps",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "scalar-read-write-ns-2",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "typed-array-read-write-ns-2",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "scalar-read-write-ns-3",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "typed-array-read-write-ns-3",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "monitor-quality-timestamps",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "event-filter-and-native-ack",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "raw-history-CP-paging",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "event-history-CP-paging",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "event-history-where-filter-positive-and-negative",
|
|
"status": "passed"
|
|
}
|
|
],
|
|
"observations": [
|
|
{
|
|
"SecurityMode": "SignAndEncrypt",
|
|
"SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"
|
|
},
|
|
{
|
|
"rawChildren": [
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Scalar",
|
|
"DisplayName": "Scalar",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Vector",
|
|
"DisplayName": "Vector",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Alarm",
|
|
"DisplayName": "Alarm",
|
|
"NodeClass": "Object",
|
|
"HasChildren": true
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/UnsetTimestamp",
|
|
"DisplayName": "UnsetTimestamp",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
}
|
|
],
|
|
"unsChildren": [
|
|
{
|
|
"NodeId": "ns=3;s=Eq/Scalar",
|
|
"DisplayName": "Scalar",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=3;s=Eq/Vector",
|
|
"DisplayName": "Vector",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Alarm",
|
|
"DisplayName": "Alarm",
|
|
"NodeClass": "Object",
|
|
"HasChildren": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"rawReferences": [
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/Scalar",
|
|
"browseName": "2:Matrix/dev/Scalar",
|
|
"nodeClass": "Variable",
|
|
"typeDefinition": "i=63",
|
|
"referenceType": "i=35",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/Vector",
|
|
"browseName": "2:Matrix/dev/Vector",
|
|
"nodeClass": "Variable",
|
|
"typeDefinition": "i=63",
|
|
"referenceType": "i=35",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/Alarm",
|
|
"browseName": "2:Alarm",
|
|
"nodeClass": "Object",
|
|
"typeDefinition": "i=10637",
|
|
"referenceType": "i=47",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/UnsetTimestamp",
|
|
"browseName": "2:Matrix/dev/UnsetTimestamp",
|
|
"nodeClass": "Variable",
|
|
"typeDefinition": "i=63",
|
|
"referenceType": "i=35",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "i=61",
|
|
"browseName": "FolderType",
|
|
"nodeClass": "ObjectType",
|
|
"typeDefinition": "",
|
|
"referenceType": "i=40",
|
|
"IsForward": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"sourceTimestamp": "2026-10-01T00:00:00.0000000Z",
|
|
"serverTimestamp": "2026-11-10T17:19:00.0739470Z",
|
|
"contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes"
|
|
},
|
|
{
|
|
"sourceTimestamp": "2026-11-10T17:19:00.1294130Z",
|
|
"serverTimestamp": "2026-11-10T17:19:00.1298110Z",
|
|
"status": "Good"
|
|
},
|
|
{
|
|
"sourceTimestamp": "2026-11-10T17:19:02.5684610Z",
|
|
"serverTimestamp": "2026-11-10T17:19:02.5684610Z",
|
|
"timestampObservation": "Fixture source supplied DateTime.MinValue (unset). These are unmodified application/SDK wire observations; no historian algorithm or expected timestamp was changed."
|
|
},
|
|
{
|
|
"benchmarkRound": 1,
|
|
"warmupOperationsPerKind": 10,
|
|
"operationsPerKind": 50,
|
|
"latencyMilliseconds": {
|
|
"scalar-read": {
|
|
"p50": 0.2167,
|
|
"p95": 0.3023,
|
|
"p99": 0.3517,
|
|
"throughputOperationsPerSecond": 4467.836048288374
|
|
},
|
|
"scalar-write": {
|
|
"p50": 0.2267,
|
|
"p95": 0.3315,
|
|
"p99": 0.3405,
|
|
"throughputOperationsPerSecond": 4343.444872997671
|
|
},
|
|
"array-read": {
|
|
"p50": 0.195,
|
|
"p95": 0.2639,
|
|
"p99": 0.2978,
|
|
"throughputOperationsPerSecond": 4934.616333580064
|
|
},
|
|
"array-write": {
|
|
"p50": 0.1941,
|
|
"p95": 0.2321,
|
|
"p99": 0.3557,
|
|
"throughputOperationsPerSecond": 5030.02927477038
|
|
}
|
|
},
|
|
"clientCpuMilliseconds": 64.293,
|
|
"clientAllocatedBytes": 681928,
|
|
"clientAllocatedBytesPerOperation": 3409.64,
|
|
"clientWorkingSetBytes": 128696320,
|
|
"clientPrivateBytes": 0,
|
|
"clientThreads": 19,
|
|
"clientHandles": 0,
|
|
"collections": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"benchmarkRound": 2,
|
|
"warmupOperationsPerKind": 10,
|
|
"operationsPerKind": 50,
|
|
"latencyMilliseconds": {
|
|
"scalar-read": {
|
|
"p50": 0.1735,
|
|
"p95": 0.2329,
|
|
"p99": 0.2756,
|
|
"throughputOperationsPerSecond": 5809.495038691237
|
|
},
|
|
"scalar-write": {
|
|
"p50": 0.2036,
|
|
"p95": 0.2893,
|
|
"p99": 9.6273,
|
|
"throughputOperationsPerSecond": 2501.0754624488522
|
|
},
|
|
"array-read": {
|
|
"p50": 0.1553,
|
|
"p95": 0.209,
|
|
"p99": 0.2232,
|
|
"throughputOperationsPerSecond": 6165.836334040348
|
|
},
|
|
"array-write": {
|
|
"p50": 0.1586,
|
|
"p95": 0.1733,
|
|
"p99": 0.1844,
|
|
"throughputOperationsPerSecond": 6403.524499884735
|
|
}
|
|
},
|
|
"clientCpuMilliseconds": 56.542,
|
|
"clientAllocatedBytes": 675864,
|
|
"clientAllocatedBytesPerOperation": 3379.32,
|
|
"clientWorkingSetBytes": 129531904,
|
|
"clientPrivateBytes": 0,
|
|
"clientThreads": 19,
|
|
"clientHandles": 0,
|
|
"collections": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"benchmarkRound": 3,
|
|
"warmupOperationsPerKind": 10,
|
|
"operationsPerKind": 50,
|
|
"latencyMilliseconds": {
|
|
"scalar-read": {
|
|
"p50": 0.1853,
|
|
"p95": 0.2121,
|
|
"p99": 0.2722,
|
|
"throughputOperationsPerSecond": 5374.494797489036
|
|
},
|
|
"scalar-write": {
|
|
"p50": 0.1895,
|
|
"p95": 0.2228,
|
|
"p99": 0.2406,
|
|
"throughputOperationsPerSecond": 5224.7149917971965
|
|
},
|
|
"array-read": {
|
|
"p50": 0.169,
|
|
"p95": 0.199,
|
|
"p99": 0.2084,
|
|
"throughputOperationsPerSecond": 5957.132474711974
|
|
},
|
|
"array-write": {
|
|
"p50": 0.154,
|
|
"p95": 0.1895,
|
|
"p99": 0.2363,
|
|
"throughputOperationsPerSecond": 6447.61953886625
|
|
}
|
|
},
|
|
"clientCpuMilliseconds": 57.443,
|
|
"clientAllocatedBytes": 675000,
|
|
"clientAllocatedBytesPerOperation": 3375,
|
|
"clientWorkingSetBytes": 130351104,
|
|
"clientPrivateBytes": 0,
|
|
"clientThreads": 19,
|
|
"clientHandles": 0,
|
|
"collections": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
],
|
|
"failures": 0,
|
|
"loadedSdkAssemblies": [
|
|
{
|
|
"name": "Opc.Ua.Core",
|
|
"version": "2.0.1.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Types",
|
|
"version": "2.0.1.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Core.Types",
|
|
"version": "2.0.1.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Types.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Configuration",
|
|
"version": "2.0.1.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Security.Certificates",
|
|
"version": "2.0.1.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Client",
|
|
"version": "2.0.1.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll"
|
|
}
|
|
],
|
|
"name": "candidate-client-to-baseline-server",
|
|
"server": {
|
|
"endpoint": "opc.tcp://127.0.0.1:55671/OtOpcUa",
|
|
"process": 35841,
|
|
"sdk": "1.5.378.0",
|
|
"rawUri": "https://zb.com/otopcua/raw",
|
|
"unsUri": "https://zb.com/otopcua/uns"
|
|
},
|
|
"status": "passed",
|
|
"historyBackendRequests": [
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 5
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
}
|
|
],
|
|
"certificateValidation": "explicit trusted peers; server and Shared client autoaccept disabled",
|
|
"authentication": "ephemeral API-key-shaped credential, exact fixture authenticator; real authority/ACL/method gates"
|
|
},
|
|
{
|
|
"sdk": "2.0.1.0",
|
|
"process": 35873,
|
|
"cases": [
|
|
{
|
|
"name": "trusted-SignAndEncrypt-API-key",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "raw-UNS-URI-browse",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "initial-quality-explicit-source-and-server-timestamps",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "scalar-read-write-ns-2",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "typed-array-read-write-ns-2",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "scalar-read-write-ns-3",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "typed-array-read-write-ns-3",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "monitor-quality-timestamps",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "event-filter-and-native-ack",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "raw-history-CP-paging",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "event-history-CP-paging",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "event-history-where-filter-positive-and-negative",
|
|
"status": "passed"
|
|
}
|
|
],
|
|
"observations": [
|
|
{
|
|
"SecurityMode": "SignAndEncrypt",
|
|
"SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"
|
|
},
|
|
{
|
|
"rawChildren": [
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Scalar",
|
|
"DisplayName": "Scalar",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Vector",
|
|
"DisplayName": "Vector",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Alarm",
|
|
"DisplayName": "Alarm",
|
|
"NodeClass": "Object",
|
|
"HasChildren": true
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/UnsetTimestamp",
|
|
"DisplayName": "UnsetTimestamp",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
}
|
|
],
|
|
"unsChildren": [
|
|
{
|
|
"NodeId": "ns=3;s=Eq/Scalar",
|
|
"DisplayName": "Scalar",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=3;s=Eq/Vector",
|
|
"DisplayName": "Vector",
|
|
"NodeClass": "Variable",
|
|
"HasChildren": false
|
|
},
|
|
{
|
|
"NodeId": "ns=2;s=Matrix/dev/Alarm",
|
|
"DisplayName": "Alarm",
|
|
"NodeClass": "Object",
|
|
"HasChildren": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"rawReferences": [
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/Scalar",
|
|
"browseName": "2:Matrix/dev/Scalar",
|
|
"nodeClass": "Variable",
|
|
"typeDefinition": "i=63",
|
|
"referenceType": "i=35",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/Vector",
|
|
"browseName": "2:Matrix/dev/Vector",
|
|
"nodeClass": "Variable",
|
|
"typeDefinition": "i=63",
|
|
"referenceType": "i=35",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/Alarm",
|
|
"browseName": "2:Alarm",
|
|
"nodeClass": "Object",
|
|
"typeDefinition": "i=10637",
|
|
"referenceType": "i=47",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "ns=2;s=Matrix/dev/UnsetTimestamp",
|
|
"browseName": "2:Matrix/dev/UnsetTimestamp",
|
|
"nodeClass": "Variable",
|
|
"typeDefinition": "i=63",
|
|
"referenceType": "i=35",
|
|
"IsForward": true
|
|
},
|
|
{
|
|
"nodeId": "i=61",
|
|
"browseName": "FolderType",
|
|
"nodeClass": "ObjectType",
|
|
"typeDefinition": "",
|
|
"referenceType": "i=40",
|
|
"IsForward": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"sourceTimestamp": "2026-10-01T00:00:00.0000000Z",
|
|
"serverTimestamp": "2026-11-10T17:19:06.4704690Z",
|
|
"contract": "Source supplied as 2026-10-01T00:00:00Z; server timestamp observed without normalization or historian algorithm changes"
|
|
},
|
|
{
|
|
"sourceTimestamp": "2026-11-10T17:19:06.5329490Z",
|
|
"serverTimestamp": "2026-11-10T17:19:06.5342530Z",
|
|
"status": "Good"
|
|
},
|
|
{
|
|
"sourceTimestamp": "2026-11-10T17:19:08.7156710Z",
|
|
"serverTimestamp": "2026-11-10T17:19:08.7156710Z",
|
|
"timestampObservation": "Fixture source supplied DateTime.MinValue (unset). These are unmodified application/SDK wire observations; no historian algorithm or expected timestamp was changed."
|
|
},
|
|
{
|
|
"benchmarkRound": 1,
|
|
"warmupOperationsPerKind": 10,
|
|
"operationsPerKind": 50,
|
|
"latencyMilliseconds": {
|
|
"scalar-read": {
|
|
"p50": 0.2664,
|
|
"p95": 0.3049,
|
|
"p99": 0.4341,
|
|
"throughputOperationsPerSecond": 3707.8785002373047
|
|
},
|
|
"scalar-write": {
|
|
"p50": 0.2393,
|
|
"p95": 0.3332,
|
|
"p99": 0.3404,
|
|
"throughputOperationsPerSecond": 4133.495366351693
|
|
},
|
|
"array-read": {
|
|
"p50": 0.184,
|
|
"p95": 0.2077,
|
|
"p99": 0.2392,
|
|
"throughputOperationsPerSecond": 5395.896959951652
|
|
},
|
|
"array-write": {
|
|
"p50": 0.2016,
|
|
"p95": 0.2642,
|
|
"p99": 0.2827,
|
|
"throughputOperationsPerSecond": 4799.9846400491515
|
|
}
|
|
},
|
|
"clientCpuMilliseconds": 65.791,
|
|
"clientAllocatedBytes": 674272,
|
|
"clientAllocatedBytesPerOperation": 3371.36,
|
|
"clientWorkingSetBytes": 128385024,
|
|
"clientPrivateBytes": 0,
|
|
"clientThreads": 19,
|
|
"clientHandles": 0,
|
|
"collections": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"benchmarkRound": 2,
|
|
"warmupOperationsPerKind": 10,
|
|
"operationsPerKind": 50,
|
|
"latencyMilliseconds": {
|
|
"scalar-read": {
|
|
"p50": 0.2273,
|
|
"p95": 0.2785,
|
|
"p99": 0.3107,
|
|
"throughputOperationsPerSecond": 4323.6138493998815
|
|
},
|
|
"scalar-write": {
|
|
"p50": 0.261,
|
|
"p95": 0.3195,
|
|
"p99": 0.3372,
|
|
"throughputOperationsPerSecond": 3833.5032853123166
|
|
},
|
|
"array-read": {
|
|
"p50": 0.25,
|
|
"p95": 0.3153,
|
|
"p99": 0.3712,
|
|
"throughputOperationsPerSecond": 4038.935336645261
|
|
},
|
|
"array-write": {
|
|
"p50": 0.2201,
|
|
"p95": 0.3085,
|
|
"p99": 0.445,
|
|
"throughputOperationsPerSecond": 4244.986670741853
|
|
}
|
|
},
|
|
"clientCpuMilliseconds": 68.441,
|
|
"clientAllocatedBytes": 674360,
|
|
"clientAllocatedBytesPerOperation": 3371.8,
|
|
"clientWorkingSetBytes": 129220608,
|
|
"clientPrivateBytes": 0,
|
|
"clientThreads": 19,
|
|
"clientHandles": 0,
|
|
"collections": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"benchmarkRound": 3,
|
|
"warmupOperationsPerKind": 10,
|
|
"operationsPerKind": 50,
|
|
"latencyMilliseconds": {
|
|
"scalar-read": {
|
|
"p50": 0.2055,
|
|
"p95": 0.2672,
|
|
"p99": 0.2689,
|
|
"throughputOperationsPerSecond": 4709.029092381732
|
|
},
|
|
"scalar-write": {
|
|
"p50": 0.264,
|
|
"p95": 0.4505,
|
|
"p99": 0.9849,
|
|
"throughputOperationsPerSecond": 3334.711680828075
|
|
},
|
|
"array-read": {
|
|
"p50": 0.2176,
|
|
"p95": 0.6237,
|
|
"p99": 1.1979,
|
|
"throughputOperationsPerSecond": 3565.392870640416
|
|
},
|
|
"array-write": {
|
|
"p50": 0.2402,
|
|
"p95": 0.314,
|
|
"p99": 0.3317,
|
|
"throughputOperationsPerSecond": 4077.239219779503
|
|
}
|
|
},
|
|
"clientCpuMilliseconds": 63.14,
|
|
"clientAllocatedBytes": 682904,
|
|
"clientAllocatedBytesPerOperation": 3414.52,
|
|
"clientWorkingSetBytes": 130088960,
|
|
"clientPrivateBytes": 0,
|
|
"clientThreads": 20,
|
|
"clientHandles": 0,
|
|
"collections": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
],
|
|
"failures": 0,
|
|
"loadedSdkAssemblies": [
|
|
{
|
|
"name": "Opc.Ua.Core",
|
|
"version": "2.0.1.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Types",
|
|
"version": "2.0.1.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Core.Types",
|
|
"version": "2.0.1.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Types.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Configuration",
|
|
"version": "2.0.1.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Security.Certificates",
|
|
"version": "2.0.1.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Client",
|
|
"version": "2.0.1.0",
|
|
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll"
|
|
}
|
|
],
|
|
"name": "candidate-client-to-candidate-server",
|
|
"server": {
|
|
"endpoint": "opc.tcp://127.0.0.1:55697/OtOpcUa",
|
|
"process": 35866,
|
|
"sdk": "2.0.1.0",
|
|
"rawUri": "https://zb.com/otopcua/raw",
|
|
"unsUri": "https://zb.com/otopcua/uns"
|
|
},
|
|
"status": "passed",
|
|
"historyBackendRequests": [
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "raw",
|
|
"rows": 5
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
},
|
|
{
|
|
"operation": "events",
|
|
"rows": 7
|
|
}
|
|
],
|
|
"certificateValidation": "explicit trusted peers; server and Shared client autoaccept disabled",
|
|
"authentication": "ephemeral API-key-shaped credential, exact fixture authenticator; real authority/ACL/method gates"
|
|
},
|
|
{
|
|
"sdk": "2.0.1.0",
|
|
"process": 68,
|
|
"cases": [
|
|
{
|
|
"name": "driver-trusted-encrypted-API-key-connect",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "driver-raw-UNS-URI-scalar-and-array-read",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "driver-scalar-array-write-roundtrip",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "driver-monitor-quality-timestamps",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "production-CLI-read",
|
|
"status": "passed",
|
|
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-driver-cli-to-baseline-server/cli-read.log",
|
|
"expectedOutput": "Value: 92"
|
|
},
|
|
{
|
|
"name": "production-CLI-raw-history",
|
|
"status": "passed",
|
|
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-driver-cli-to-baseline-server/cli-raw-history.log",
|
|
"expectedOutput": "25 values returned."
|
|
},
|
|
{
|
|
"name": "production-CLI-event-history",
|
|
"status": "passed",
|
|
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-driver-cli-to-baseline-server/cli-event-history.log",
|
|
"expectedOutput": "25 events returned."
|
|
}
|
|
],
|
|
"observations": [
|
|
{
|
|
"SourceTimestampUtc": "2026-11-10T17:19:14.3035771Z",
|
|
"ServerTimestampUtc": "2026-11-10T17:19:14.3044509Z",
|
|
"StatusCode": 0
|
|
},
|
|
{
|
|
"capability": "driver-history",
|
|
"status": "not-applicable",
|
|
"evidence": "Driver has no IHistoryProvider/HistoryRead capability; .claude/rules/drivers.md #655. Shared/CLI own history."
|
|
}
|
|
],
|
|
"failures": 0,
|
|
"loadedSdkAssemblies": [
|
|
{
|
|
"name": "Opc.Ua.Core",
|
|
"version": "2.0.1.0",
|
|
"path": "/candidate/Opc.Ua.Core.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Types",
|
|
"version": "2.0.1.0",
|
|
"path": "/candidate/Opc.Ua.Types.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Core.Types",
|
|
"version": "2.0.1.0",
|
|
"path": "/candidate/Opc.Ua.Core.Types.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Client",
|
|
"version": "2.0.1.0",
|
|
"path": "/candidate/Opc.Ua.Client.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Configuration",
|
|
"version": "2.0.1.0",
|
|
"path": "/candidate/Opc.Ua.Configuration.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Security.Certificates",
|
|
"version": "2.0.1.0",
|
|
"path": "/candidate/Opc.Ua.Security.Certificates.dll"
|
|
}
|
|
],
|
|
"name": "candidate-driver-cli-to-baseline-server",
|
|
"status": "passed",
|
|
"container": "otopcua-sdk2-matrix-222d08944aba",
|
|
"network": "none; all peers in task container, separate SDK processes",
|
|
"driverCertificateValidation": "explicit trusted peers; autoaccept disabled",
|
|
"cliCertificateValidation": "explicit exchanged peers; CLI always configures AutoAcceptCertificates=true (CommandBase.CreateConnectionSettings)",
|
|
"server": {
|
|
"endpoint": "opc.tcp://127.0.0.1:44603/OtOpcUa",
|
|
"process": 33,
|
|
"sdk": "1.5.378.0",
|
|
"rawUri": "https://zb.com/otopcua/raw",
|
|
"unsUri": "https://zb.com/otopcua/uns"
|
|
}
|
|
},
|
|
{
|
|
"sdk": "2.0.1.0",
|
|
"process": 79,
|
|
"cases": [
|
|
{
|
|
"name": "driver-trusted-encrypted-API-key-connect",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "driver-raw-UNS-URI-scalar-and-array-read",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "driver-scalar-array-write-roundtrip",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "driver-monitor-quality-timestamps",
|
|
"status": "passed"
|
|
},
|
|
{
|
|
"name": "production-CLI-read",
|
|
"status": "passed",
|
|
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-driver-cli-to-candidate-server/cli-read.log",
|
|
"expectedOutput": "Value: 92"
|
|
},
|
|
{
|
|
"name": "production-CLI-raw-history",
|
|
"status": "passed",
|
|
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-driver-cli-to-candidate-server/cli-raw-history.log",
|
|
"expectedOutput": "25 values returned."
|
|
},
|
|
{
|
|
"name": "production-CLI-event-history",
|
|
"status": "passed",
|
|
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-driver-cli-to-candidate-server/cli-event-history.log",
|
|
"expectedOutput": "25 events returned."
|
|
}
|
|
],
|
|
"observations": [
|
|
{
|
|
"SourceTimestampUtc": "2026-11-10T17:19:21.7145689Z",
|
|
"ServerTimestampUtc": "2026-11-10T17:19:21.7157531Z",
|
|
"StatusCode": 0
|
|
},
|
|
{
|
|
"capability": "driver-history",
|
|
"status": "not-applicable",
|
|
"evidence": "Driver has no IHistoryProvider/HistoryRead capability; .claude/rules/drivers.md #655. Shared/CLI own history."
|
|
}
|
|
],
|
|
"failures": 0,
|
|
"loadedSdkAssemblies": [
|
|
{
|
|
"name": "Opc.Ua.Core",
|
|
"version": "2.0.1.0",
|
|
"path": "/candidate/Opc.Ua.Core.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Types",
|
|
"version": "2.0.1.0",
|
|
"path": "/candidate/Opc.Ua.Types.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Core.Types",
|
|
"version": "2.0.1.0",
|
|
"path": "/candidate/Opc.Ua.Core.Types.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Client",
|
|
"version": "2.0.1.0",
|
|
"path": "/candidate/Opc.Ua.Client.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Configuration",
|
|
"version": "2.0.1.0",
|
|
"path": "/candidate/Opc.Ua.Configuration.dll"
|
|
},
|
|
{
|
|
"name": "Opc.Ua.Security.Certificates",
|
|
"version": "2.0.1.0",
|
|
"path": "/candidate/Opc.Ua.Security.Certificates.dll"
|
|
}
|
|
],
|
|
"name": "candidate-driver-cli-to-candidate-server",
|
|
"status": "passed",
|
|
"container": "otopcua-sdk2-matrix-00f1df5c1613",
|
|
"network": "none; all peers in task container, separate SDK processes",
|
|
"driverCertificateValidation": "explicit trusted peers; autoaccept disabled",
|
|
"cliCertificateValidation": "explicit exchanged peers; CLI always configures AutoAcceptCertificates=true (CommandBase.CreateConnectionSettings)",
|
|
"server": {
|
|
"endpoint": "opc.tcp://127.0.0.1:44545/OtOpcUa",
|
|
"process": 33,
|
|
"sdk": "2.0.1.0",
|
|
"rawUri": "https://zb.com/otopcua/raw",
|
|
"unsUri": "https://zb.com/otopcua/uns"
|
|
}
|
|
}
|
|
]
|