Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 99b463894f | |||
| 4ea379fa92 | |||
| 2798021623 | |||
| 18c22cf7eb | |||
| 9f351ee476 | |||
| 3a11087b37 | |||
| 8a1028c4e2 | |||
| bd3143b7d7 | |||
| d31560cd36 | |||
| a8e1082d69 | |||
| 7ca0782b2a |
@@ -0,0 +1,77 @@
|
||||
# HistorianGateway consumer TLS migration — issue 131
|
||||
|
||||
`consumer-1.0.0.patch` is a reviewable consumer change, kept separate from the
|
||||
buildable application in this checkout. Real paired Client/Contracts 1.0.0
|
||||
packages are now published and the isolated owning-project proof passed (RESULTS.md).
|
||||
The application in this checkout remains pinned to published 0.4.0 until the patch
|
||||
is applied by the coordinator.
|
||||
|
||||
The patch changes both central package pins to 1.0.0 and maps the new option as:
|
||||
|
||||
```csharp
|
||||
AllowUntrustedServerCertificate = options.UseTls && options.AllowUntrustedServerCertificate,
|
||||
```
|
||||
|
||||
The old inverse-mapping and obsolete h2c-history comments are removed. The existing
|
||||
h2c construction test now includes a stale opt-out as well as a stale CA path.
|
||||
Three new bounded local wire tests verify behavior through the real adapter and
|
||||
published client API, without reflection or replacing the transport handler:
|
||||
|
||||
- TLS with normal defaults rejects a self-signed server before the metadata RPC.
|
||||
- Explicit opt-out permits that self-signed server shape and executes one RPC.
|
||||
- Plaintext with stale opt-out and CA settings executes one RPC, proving TLS-only
|
||||
settings were not forwarded to the client's validating options.
|
||||
|
||||
The local server uses an ephemeral loopback port and a fresh short-lived
|
||||
self-signed certificate. RPC completion is bounded to 15 seconds; the consumer
|
||||
call timeout is two seconds. No gateway, deployment, or global trust store is used.
|
||||
|
||||
Before applying the patch, query the live Gitea NuGet version indexes for BOTH
|
||||
packages and require actual stable 1.0.0. Source `main` having the new API is not a
|
||||
package release. At initial inspection, both feed indexes listed exactly
|
||||
0.4.0, 0.3.0, 0.2.0, 0.1.0, and the new API was only in Unreleased at HG commit
|
||||
`e4321915ebc5e0704a68ecad21b85c1cc1c80d6b`.
|
||||
|
||||
```bash
|
||||
git apply --check scripts/validation/historiangw-131/consumer-1.0.0.patch
|
||||
git apply scripts/validation/historiangw-131/consumer-1.0.0.patch
|
||||
# From the consumer checkout, using a fresh run/results directory:
|
||||
hg131_results=/absolute/fresh/results
|
||||
test ! -e "$hg131_results" || exit 2
|
||||
mkdir -p "$hg131_results" || exit
|
||||
hg131_test_status=0
|
||||
dotnet test tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.Tests \
|
||||
-c Release --logger trx --results-directory "$hg131_results" || hg131_test_status=$?
|
||||
hg131_guard_status=0
|
||||
MIN_EXECUTED=1 bash scripts/ci/assert-not-all-skipped.sh "$hg131_results"/*.trx \
|
||||
|| hg131_guard_status=$?
|
||||
if [ "$hg131_test_status" -ne 0 ]; then exit "$hg131_test_status"; fi
|
||||
exit "$hg131_guard_status"
|
||||
```
|
||||
|
||||
Published-package verification must use the real 1.0.0 packages, preserve all test
|
||||
and guard exits, run the full owning project, and complete the consumer solution
|
||||
build/review before issue 131 is closed. The patch is transport-only and can be
|
||||
applied independently of the OPC UA SDK 2 rollout.
|
||||
|
||||
For isolated validation, use a fresh output directory OUTSIDE both repositories
|
||||
so the archived HG projects do not inherit the consumer's central package policy:
|
||||
|
||||
```bash
|
||||
python3 scripts/validation/historiangw-131/validate.py \
|
||||
--consumer-root "$PWD" \
|
||||
--hg-root /Users/dohertj2/Desktop/HistorianGateway \
|
||||
--output /tmp/historiangw-131-fresh-validation
|
||||
```
|
||||
|
||||
The script checks both live feed indexes. If both actual stable 1.0.0 packages are
|
||||
available, it validates them in an archived consumer copy. Otherwise it archives
|
||||
exact HG commit e432191 and temporarily replaces ONLY the archived Gateway csproj's
|
||||
two package references with source project references. This equivalent source
|
||||
validation does not create or publish any fake package/version. Restore uses an
|
||||
independent copy-on-write/copy cache, isolated HTTP cache and CLI home. Neither
|
||||
user checkout is built or edited. Full owning-suite TRX, required TLS failure
|
||||
classification, command exits and execution guard are retained under the task
|
||||
output. Published mode additionally checks package assets/provenance, absence of
|
||||
source overrides, and exact package-to-test-bin DLL hashes. Never treat source
|
||||
validation as stable published-package verification.
|
||||
@@ -0,0 +1,98 @@
|
||||
# HG issue 131 — actual published 1.0.0 verification
|
||||
|
||||
Both real stable **Client 1.0.0** and **Contracts 1.0.0** were observed in the live
|
||||
Gitea indexes at 2026-11-10 19:35:54 UTC and restored into a fresh isolated cache.
|
||||
The future consumer patch was applied only to a separate SDK 2 consumer archive.
|
||||
Application files in this working branch remain on 0.4.0, unchanged.
|
||||
|
||||
- Full Gateway owning project: **529 total, 523 passed, 0 failed, 6 existing live skips**.
|
||||
- Restore, test and repository execution-count guard exits: **0 / 0 / 0**.
|
||||
- All **3 real TLS/h2c wire cases passed** against the published packages.
|
||||
- Strict default rejected with AuthenticationException **UntrustedRoot**, before RPC.
|
||||
- Explicit opt-out and plaintext/stale-TLS-settings cases each completed one RPC.
|
||||
- Both assets entries are **type=package, version=1.0.0**, from the actual Gitea
|
||||
source. No source ProjectReference override: the archived Gateway csproj is
|
||||
byte-identical to the normal consumer csproj.
|
||||
- The only package folder is the task-isolated cache. Both copied test-bin DLL
|
||||
hashes equal the package DLL hashes. No package was packed or published here.
|
||||
|
||||
Actual package RepositoryCommit for BOTH packages:
|
||||
`ea9f21c850fb618767e12690924f9966f1e433ac`.
|
||||
Consumer archive base: `4ea379fa92e571492ff9f49889a5eb91e3ad1e1a`.
|
||||
Applied patch SHA-256: `9452ee82b2bace7828a384b9f6048e9c931e8b4ec2078e0ee1baa175d0652fac`.
|
||||
|
||||
| Package | NuGet package SHA-256 | Consumed DLL SHA-256 |
|
||||
|---|---|---|
|
||||
| ZB.MOM.WW.HistorianGateway.Client 1.0.0 | `0a3f2836727671c07c0c393e705cc9737d2ed44258213a51fb4acf0d0ab7129e` | `b89a02e0d228ec549c4dfb755694f7f67b573a6077f06ff2781165e884fc5e12` |
|
||||
| ZB.MOM.WW.HistorianGateway.Contracts 1.0.0 | `83ffd12bcbbf919c973ba522560e10aa93a4cb8c686a3232030a2cfa5f00995e` | `e60d3d4650be5d251982f7847404daf1b666f61d56e2b0ccb844af8677e97743` |
|
||||
|
||||
Proof metadata/source/hash/readback checks:
|
||||
`/tmp/historiangw-131-published-20261110T193638Z/published-package-proof.json`.
|
||||
Full run metadata (including typed TLS error and package readback):
|
||||
`/tmp/historiangw-131-published-20261110T193638Z/metadata.json`.
|
||||
Fresh actual-package TRX: `/tmp/historiangw-131-published-20261110T193638Z/test-results`.
|
||||
Restore/test/guard logs: `/tmp/historiangw-131-published-20261110T193638Z`.
|
||||
|
||||
This completes the isolated SDK 2 owning-project proof. The coordinator separately
|
||||
owns the consumer-master full solution build, Astra review, landing/push and issue
|
||||
131 comment/closure. No issue action, package publication, or HG user-checkout
|
||||
mutation was performed by this validation lane. The live AVEVA fixture skips do
|
||||
not substitute for the three executed local wire tests.
|
||||
|
||||
---
|
||||
|
||||
# Earlier archived-source validation
|
||||
|
||||
Future consumer patch validated against exact archived HG source commit
|
||||
`e4321915ebc5e0704a68ecad21b85c1cc1c80d6b`. Consumer archive base:
|
||||
`18c22cf7eb042126226e540d9b979907328055c3`. Patch SHA-256:
|
||||
`9452ee82b2bace7828a384b9f6048e9c931e8b4ec2078e0ee1baa175d0652fac`.
|
||||
|
||||
## Scope and isolation
|
||||
|
||||
Mode: **unreleased source project references**, not published-package verification.
|
||||
At that earlier source-validation time, both feed indexes still listed only
|
||||
0.4.0, 0.3.0, 0.2.0, 0.1.0. The published-package run below supersedes that pending
|
||||
release-availability status.
|
||||
|
||||
The user's HG checkout was only read by git archive. Only the disposable archived
|
||||
consumer Gateway csproj had its two package references replaced by project
|
||||
references into the exact archived HG source. No package was packed or published;
|
||||
no fake 1.0.0 was inserted into any feed/cache. Restore used an independent copied
|
||||
NuGet cache, isolated HTTP cache and CLI home. The normal consumer files remain
|
||||
on published 0.4.0.
|
||||
|
||||
## Actual execution
|
||||
|
||||
- Full Gateway owning project: **529 total, 523 passed, 0 failed, 6 existing live skips**.
|
||||
- Test exit **0**; repository nonzero-execution guard exit **0**.
|
||||
- All three new local wire tests passed; no new skip or expected application-result change.
|
||||
- Strict default: base HistorianGatewayException -> RpcException Status Internal ->
|
||||
HttpRequestException -> AuthenticationException, certificate-chain **UntrustedRoot**.
|
||||
The test explicitly requires the typed TLS authentication failure; RPC calls = **0**.
|
||||
- Explicit TLS opt-out: actual metadata RPC succeeds; calls = **1**.
|
||||
- Plaintext with stale opt-out and nonexistent CA path: actual metadata RPC succeeds;
|
||||
calls = **1**.
|
||||
|
||||
The first source run compiled and executed but failed one new assertion because
|
||||
it predicted the narrower HistorianGatewayUnavailableException type. The actual
|
||||
TLS exception is the public base HistorianGatewayException; the corrected assertion
|
||||
retains the required AuthenticationException graph and zero-RPC check. The fresh
|
||||
second unfiltered run above passed. The six skipped cases are the existing AVEVA
|
||||
live fixture tests; they are not a substitute for TLS wire coverage.
|
||||
|
||||
Completed UTC: `2026-11-10T19:33:17.272468+00:00`.
|
||||
Actual metadata, typed TLS exception output and binary hashes:
|
||||
`/tmp/historiangw-131-validation-20261110T193106Z/metadata-final.json`.
|
||||
Fresh second-run TRX: `/tmp/historiangw-131-validation-20261110T193106Z/test-results2`.
|
||||
Test log: `/tmp/historiangw-131-validation-20261110T193106Z/test2.log`.
|
||||
Initial failed run and restore logs are retained in the same task directory.
|
||||
|
||||
Archived-source Client DLL SHA-256:
|
||||
`87e995a43c63debdd8f648a8feb8d19d9110b45eb7b2b6906159077d90109862`.
|
||||
Archived-source Contracts DLL SHA-256:
|
||||
`ebaaa43ffc485288054eb864a59ec59264d8d9c4ea6871319fd7995192370751`.
|
||||
|
||||
That earlier run consumed source only. Actual stable-package proof is recorded
|
||||
above. Consumer-master solution build/review/landing and issue handling are owned
|
||||
by the coordinator; no issue comment/close was performed here.
|
||||
@@ -0,0 +1,226 @@
|
||||
diff --git a/Directory.Packages.props b/Directory.Packages.props
|
||||
--- a/Directory.Packages.props
|
||||
+++ b/Directory.Packages.props
|
||||
@@ -242,7 +242,7 @@
|
||||
<PackageVersion Include="ZB.MOM.WW.Secrets.Replicator.AkkaDotNet" Version="0.6.2" />
|
||||
<PackageVersion Include="ZB.MOM.WW.Audit" Version="0.1.0" />
|
||||
<PackageVersion Include="ZB.MOM.WW.Theme" Version="0.5.0" />
|
||||
- <PackageVersion Include="ZB.MOM.WW.HistorianGateway.Client" Version="0.4.0" />
|
||||
- <PackageVersion Include="ZB.MOM.WW.HistorianGateway.Contracts" Version="0.4.0" />
|
||||
+ <PackageVersion Include="ZB.MOM.WW.HistorianGateway.Client" Version="1.0.0" />
|
||||
+ <PackageVersion Include="ZB.MOM.WW.HistorianGateway.Contracts" Version="1.0.0" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
\ No newline at end of file
|
||||
diff --git a/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway/HistorianGatewayClientAdapter.cs b/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway/HistorianGatewayClientAdapter.cs
|
||||
--- a/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway/HistorianGatewayClientAdapter.cs
|
||||
+++ b/src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway/HistorianGatewayClientAdapter.cs
|
||||
@@ -57,23 +57,15 @@
|
||||
$"ServerHistorian:Endpoint must be an absolute http(s) URI (e.g. https://host:5222); got '{options.Endpoint}'.");
|
||||
}
|
||||
|
||||
- // TLS-only options must stay at their defaults on a plaintext h2c connection: the client rejects
|
||||
- // each of them outright when UseTls=false ("<name> is a TLS-only option and requires
|
||||
- // UseTls=true"). Forwarding them unconditionally made h2c UNREACHABLE — AllowUntrustedServer-
|
||||
- // Certificate defaults to false, so RequireCertificateValidation was always sent as true and
|
||||
- // every http:// deployment crashed at startup, even though the scheme is documented as the
|
||||
- // supported way to select h2c. There is no certificate to have a posture about here.
|
||||
+ // Certificate settings apply only to TLS. The client rejects an explicit opt-out or a
|
||||
+ // CA path on h2c, where there is no certificate to validate.
|
||||
var clientOptions = new HistorianGatewayClientOptions
|
||||
{
|
||||
Endpoint = endpointUri,
|
||||
ApiKey = options.ApiKey,
|
||||
UseTls = options.UseTls,
|
||||
CaCertificatePath = options.UseTls ? options.CaCertificatePath : null,
|
||||
- // INVERTED mapping (TLS only): ServerHistorianOptions.AllowUntrustedServerCertificate
|
||||
- // (opt-in to accept a self-signed cert) is the negation of the client's
|
||||
- // RequireCertificateValidation. Allowing an untrusted cert == not requiring validation; a
|
||||
- // pinned CaCertificatePath always verifies.
|
||||
- RequireCertificateValidation = options.UseTls && !options.AllowUntrustedServerCertificate,
|
||||
+ AllowUntrustedServerCertificate = options.UseTls && options.AllowUntrustedServerCertificate,
|
||||
DefaultCallTimeout = options.CallTimeout,
|
||||
LoggerFactory = loggerFactory,
|
||||
};
|
||||
diff --git a/tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.Tests/HistorianGatewayClientAdapterTests.cs b/tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.Tests/HistorianGatewayClientAdapterTests.cs
|
||||
--- a/tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.Tests/HistorianGatewayClientAdapterTests.cs
|
||||
+++ b/tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.Tests/HistorianGatewayClientAdapterTests.cs
|
||||
@@ -27,23 +27,6 @@
|
||||
/// A plaintext <c>h2c</c> gateway (an <c>http://</c> endpoint with <c>UseTls=false</c>) must
|
||||
/// construct, using nothing but documented defaults.
|
||||
/// </summary>
|
||||
- /// <remarks>
|
||||
- /// <para>
|
||||
- /// Found by the LocalDb Phase 2 live gate, on the third consecutive crash-loop of the rig.
|
||||
- /// <c>docs/Historian.md</c> and CLAUDE.md both document <c>http://</c> as a supported
|
||||
- /// transport ("scheme selects transport: https = TLS, http = h2c"), but it was in fact
|
||||
- /// <b>unreachable</b>: this factory forwarded the TLS-only options unconditionally, and
|
||||
- /// <see cref="ServerHistorianOptions.AllowUntrustedServerCertificate"/> defaults to
|
||||
- /// <see langword="false"/>, so it always sent <c>RequireCertificateValidation=true</c> —
|
||||
- /// which the client rejects outright when <c>UseTls=false</c>
|
||||
- /// ("RequireCertificateValidation is a TLS-only option and requires UseTls=true").
|
||||
- /// </para>
|
||||
- /// <para>
|
||||
- /// So <b>every</b> h2c deployment crashed at startup, and the only way to avoid it was to
|
||||
- /// set <c>AllowUntrustedServerCertificate=true</c> — asserting a certificate posture for a
|
||||
- /// connection that has no certificate at all.
|
||||
- /// </para>
|
||||
- /// </remarks>
|
||||
[Fact]
|
||||
public void Adapter_constructs_for_plaintext_h2c_endpoint()
|
||||
{
|
||||
@@ -71,6 +54,7 @@
|
||||
ApiKey = "histgw_x_y",
|
||||
UseTls = false,
|
||||
CaCertificatePath = "/etc/ssl/certs/leftover-from-a-tls-config.pem",
|
||||
+ AllowUntrustedServerCertificate = true,
|
||||
};
|
||||
|
||||
using var adapter = HistorianGatewayClientAdapter.Create(opts, NullLoggerFactory.Instance);
|
||||
diff --git a/tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.Tests/HistorianGatewayTlsPolicyWireTests.cs b/tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.Tests/HistorianGatewayTlsPolicyWireTests.cs
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.Tests/HistorianGatewayTlsPolicyWireTests.cs
|
||||
@@ -0,0 +1,142 @@
|
||||
+using System.Net;
|
||||
+using System.Security.Authentication;
|
||||
+using System.Security.Cryptography;
|
||||
+using System.Security.Cryptography.X509Certificates;
|
||||
+using Grpc.Core;
|
||||
+using Microsoft.AspNetCore.Builder;
|
||||
+using Microsoft.AspNetCore.Hosting;
|
||||
+using Microsoft.AspNetCore.Server.Kestrel.Core;
|
||||
+using Microsoft.Extensions.DependencyInjection;
|
||||
+using Microsoft.Extensions.Logging;
|
||||
+using Microsoft.Extensions.Logging.Abstractions;
|
||||
+using Shouldly;
|
||||
+using Xunit;
|
||||
+using ZB.MOM.WW.HistorianGateway.Client;
|
||||
+using ZB.MOM.WW.HistorianGateway.Contracts.Grpc;
|
||||
+using ZB.MOM.WW.OtOpcUa.Runtime.Historian;
|
||||
+
|
||||
+namespace ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.Tests;
|
||||
+
|
||||
+/// <summary>historiangw#131: verify the mapped TLS posture through an actual local gRPC connection.</summary>
|
||||
+public sealed class HistorianGatewayTlsPolicyWireTests(ITestOutputHelper output)
|
||||
+{
|
||||
+ private static CancellationToken Ct => TestContext.Current.CancellationToken;
|
||||
+
|
||||
+ [Fact]
|
||||
+ public async Task Default_tls_rejects_an_untrusted_server_before_the_rpc()
|
||||
+ {
|
||||
+ await using var server = await Server.StartAsync(tls: true);
|
||||
+ using var adapter = HistorianGatewayClientAdapter.Create(server.Options(), NullLoggerFactory.Instance);
|
||||
+
|
||||
+ var error = await Should.ThrowAsync<HistorianGatewayException>(
|
||||
+ () => adapter.TagExistsAsync("T", Ct).WaitAsync(TimeSpan.FromSeconds(15), Ct));
|
||||
+ output.WriteLine($"TLS rejection: {error}");
|
||||
+ ContainsTlsAuthenticationFailure(error).ShouldBeTrue("the failure must be TLS authentication, not an arbitrary connection failure");
|
||||
+ server.MetadataCalls.ShouldBe(0);
|
||||
+ }
|
||||
+
|
||||
+ [Fact]
|
||||
+ public async Task Explicit_tls_opt_out_reaches_the_same_self_signed_server_shape()
|
||||
+ {
|
||||
+ await using var server = await Server.StartAsync(tls: true);
|
||||
+ var options = server.Options(allowUntrusted: true);
|
||||
+ using var adapter = HistorianGatewayClientAdapter.Create(options, NullLoggerFactory.Instance);
|
||||
+
|
||||
+ (await adapter.TagExistsAsync("T", Ct).WaitAsync(TimeSpan.FromSeconds(15), Ct)).ShouldBeTrue();
|
||||
+ server.MetadataCalls.ShouldBe(1);
|
||||
+ }
|
||||
+
|
||||
+ [Fact]
|
||||
+ public async Task Plaintext_ignores_stale_tls_opt_out_and_ca_settings_and_reaches_the_rpc()
|
||||
+ {
|
||||
+ await using var server = await Server.StartAsync(tls: false);
|
||||
+ var options = server.Options(allowUntrusted: true, caPath: "/nonexistent/historiangw-131-stale-ca.pem");
|
||||
+ using var adapter = HistorianGatewayClientAdapter.Create(options, NullLoggerFactory.Instance);
|
||||
+
|
||||
+ (await adapter.TagExistsAsync("T", Ct).WaitAsync(TimeSpan.FromSeconds(15), Ct)).ShouldBeTrue();
|
||||
+ server.MetadataCalls.ShouldBe(1);
|
||||
+ }
|
||||
+
|
||||
+ private static bool ContainsTlsAuthenticationFailure(Exception error)
|
||||
+ {
|
||||
+ var pending = new Stack<Exception>();
|
||||
+ var seen = new HashSet<Exception>(ReferenceEqualityComparer.Instance);
|
||||
+ pending.Push(error);
|
||||
+ while (pending.TryPop(out var current))
|
||||
+ {
|
||||
+ if (!seen.Add(current)) continue;
|
||||
+ if (current is AuthenticationException) return true;
|
||||
+ if (current.InnerException is { } inner) pending.Push(inner);
|
||||
+ if (current is RpcException { Status.DebugException: { } debug }) pending.Push(debug);
|
||||
+ }
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ private sealed class TagsService : HistorianTags.HistorianTagsBase
|
||||
+ {
|
||||
+ public int Calls;
|
||||
+ public override Task<GetTagMetadataReply> GetTagMetadata(GetTagMetadataRequest request, ServerCallContext context)
|
||||
+ {
|
||||
+ Interlocked.Increment(ref Calls);
|
||||
+ return Task.FromResult(new GetTagMetadataReply
|
||||
+ { Metadata = new HistorianTagMetadata { Name = request.Tag } });
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private sealed class Server(WebApplication app, TagsService service, string endpoint,
|
||||
+ RSA? key, X509Certificate2? certificate) : IAsyncDisposable
|
||||
+ {
|
||||
+ public int MetadataCalls => Volatile.Read(ref service.Calls);
|
||||
+ public ServerHistorianOptions Options(bool allowUntrusted = false, string? caPath = null) => new()
|
||||
+ {
|
||||
+ Endpoint = endpoint, ApiKey = "histgw_131_test", UseTls = certificate is not null,
|
||||
+ CallTimeout = TimeSpan.FromSeconds(2),
|
||||
+ AllowUntrustedServerCertificate = allowUntrusted, CaCertificatePath = caPath,
|
||||
+ };
|
||||
+
|
||||
+ public static async Task<Server> StartAsync(bool tls)
|
||||
+ {
|
||||
+ RSA? key = null;
|
||||
+ X509Certificate2? certificate = null;
|
||||
+ if (tls)
|
||||
+ {
|
||||
+ key = RSA.Create(2048);
|
||||
+ var request = new CertificateRequest("CN=localhost", key, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
|
||||
+ request.CertificateExtensions.Add(new X509BasicConstraintsExtension(false, false, 0, true));
|
||||
+ request.CertificateExtensions.Add(new X509KeyUsageExtension(
|
||||
+ X509KeyUsageFlags.DigitalSignature | X509KeyUsageFlags.KeyEncipherment, true));
|
||||
+ var names = new SubjectAlternativeNameBuilder();
|
||||
+ names.AddDnsName("localhost"); names.AddIpAddress(IPAddress.Loopback);
|
||||
+ request.CertificateExtensions.Add(names.Build());
|
||||
+ certificate = request.CreateSelfSigned(DateTimeOffset.UtcNow.AddMinutes(-5), DateTimeOffset.UtcNow.AddDays(1));
|
||||
+ }
|
||||
+ var service = new TagsService();
|
||||
+ var builder = WebApplication.CreateBuilder();
|
||||
+ builder.Logging.ClearProviders();
|
||||
+ builder.WebHost.ConfigureKestrel(options => options.Listen(IPAddress.Loopback, 0, listen =>
|
||||
+ {
|
||||
+ listen.Protocols = HttpProtocols.Http2;
|
||||
+ if (certificate is not null) listen.UseHttps(certificate);
|
||||
+ }));
|
||||
+ builder.Services.AddGrpc(); builder.Services.AddSingleton(service);
|
||||
+ var app = builder.Build();
|
||||
+ app.MapGrpcService<TagsService>();
|
||||
+ try
|
||||
+ {
|
||||
+ await app.StartAsync(Ct);
|
||||
+ return new Server(app, service, app.Urls.Single(), key, certificate);
|
||||
+ }
|
||||
+ catch
|
||||
+ {
|
||||
+ await app.DisposeAsync(); certificate?.Dispose(); key?.Dispose();
|
||||
+ throw;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ public async ValueTask DisposeAsync()
|
||||
+ {
|
||||
+ try { await app.StopAsync(Ct); }
|
||||
+ finally { await app.DisposeAsync(); certificate?.Dispose(); key?.Dispose(); }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
@@ -0,0 +1,126 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Validate the future patch in archives, using published 1.0.0 or exact HG source project references."""
|
||||
import argparse, datetime, hashlib, io, json, os, shutil, subprocess, tarfile, urllib.request
|
||||
import xml.etree.ElementTree as ET
|
||||
from pathlib import Path
|
||||
|
||||
def verify_published_packages(root, consumer, cache, project):
|
||||
relative = Path('src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.csproj')
|
||||
assert (consumer/relative).read_bytes() == (root/relative).read_bytes(), 'Unexpected source-project override'
|
||||
assets = json.loads((consumer/project.parent/'obj/project.assets.json').read_text())
|
||||
assert all(Path(p).resolve() == cache.resolve() for p in assets['packageFolders'])
|
||||
proof = {'no_source_project_reference_override': True, 'packages': {}}
|
||||
for name in ['Client', 'Contracts']:
|
||||
ident = 'ZB.MOM.WW.HistorianGateway.' + name
|
||||
library = assets['libraries'][ident + '/1.0.0']
|
||||
assert library['type'] == 'package'
|
||||
package = cache/ident.lower()/'1.0.0'
|
||||
provenance = json.loads((package/'.nupkg.metadata').read_text())
|
||||
assert provenance['source'].startswith('https://gitea.dohertylan.com/api/packages/dohertj2/nuget')
|
||||
dll = package/'lib/net10.0'/(ident + '.dll')
|
||||
copied = consumer/project.parent/'bin/Release/net10.0'/(ident + '.dll')
|
||||
digest = hashlib.sha256(dll.read_bytes()).hexdigest()
|
||||
assert digest == hashlib.sha256(copied.read_bytes()).hexdigest()
|
||||
nuspec = ET.parse(package/(ident.lower() + '.nuspec'))
|
||||
assert nuspec.findtext('.//{*}version') == '1.0.0'
|
||||
repository = nuspec.find('.//{*}repository')
|
||||
proof['packages'][ident] = {'version': '1.0.0', 'asset_type': 'package',
|
||||
'source': provenance['source'], 'dll_sha256': digest,
|
||||
'nupkg_sha256': hashlib.sha256((package/(ident.lower() + '.1.0.0.nupkg')).read_bytes()).hexdigest(),
|
||||
'repository': repository.attrib if repository is not None else None,
|
||||
'test_bin_dll_matches_package': True}
|
||||
return proof
|
||||
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('--consumer-root', type=Path, required=True)
|
||||
parser.add_argument('--hg-root', type=Path, required=True)
|
||||
parser.add_argument('--hg-commit', default='e4321915ebc5e0704a68ecad21b85c1cc1c80d6b')
|
||||
parser.add_argument('--output', type=Path, required=True)
|
||||
a = parser.parse_args(); root = a.consumer_root.resolve(); out = a.output.resolve()
|
||||
if out.is_relative_to(root) or out.is_relative_to(a.hg_root.resolve()):
|
||||
raise ValueError('Use an output directory outside both checkouts so archived HG does not inherit consumer central-package settings.')
|
||||
out.mkdir(parents=True, exist_ok=False)
|
||||
patch = Path(__file__).with_name('consumer-1.0.0.patch').resolve()
|
||||
project = Path('tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.Tests/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.Tests.csproj')
|
||||
sha = subprocess.check_output(['git','-C',str(root),'rev-parse','HEAD'],text=True).strip()
|
||||
hg_sha = subprocess.check_output(['git','-C',str(a.hg_root),'rev-parse',a.hg_commit],text=True).strip()
|
||||
def archive(repo, rev, target):
|
||||
target.mkdir()
|
||||
data = subprocess.check_output(['git','-C',str(repo),'archive',rev])
|
||||
with tarfile.open(fileobj=io.BytesIO(data)) as tar: tar.extractall(target, filter='data')
|
||||
|
||||
versions = {}
|
||||
for name in ['client','contracts']:
|
||||
url = 'https://gitea.dohertylan.com/api/packages/dohertj2/nuget/package/zb.mom.ww.historiangateway.' + name + '/index.json'
|
||||
versions[name] = json.load(urllib.request.urlopen(url,timeout=20))['versions']
|
||||
published = all('1.0.0' in v for v in versions.values())
|
||||
metadata = {'utc':datetime.datetime.now(datetime.timezone.utc).isoformat(),'consumer_commit':sha,'hg_snapshot':hg_sha,
|
||||
'mode':'published-1.0.0' if published else 'unreleased-source-project-reference',
|
||||
'feed_versions':versions,'patch_sha256':hashlib.sha256(patch.read_bytes()).hexdigest(),
|
||||
'published_package_verification':published,'normal_package_cache_modified':False}
|
||||
(out/'metadata.json').write_text(json.dumps(metadata,indent=2))
|
||||
consumer = out/'consumer'; archive(root,sha,consumer)
|
||||
subprocess.run(['git','init','-q',str(consumer)],check=True)
|
||||
subprocess.run(['git','-C',str(consumer),'apply',str(patch)],check=True)
|
||||
if not published:
|
||||
hg = out/'historiangw-source'; archive(a.hg_root,hg_sha,hg)
|
||||
adapter = consumer/'src/Drivers/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.csproj'
|
||||
tree = ET.parse(adapter)
|
||||
removed = 0
|
||||
for group in tree.getroot().findall('ItemGroup'):
|
||||
for item in list(group):
|
||||
if item.tag=='PackageReference' and item.get('Include') in ['ZB.MOM.WW.HistorianGateway.Client','ZB.MOM.WW.HistorianGateway.Contracts']:
|
||||
group.remove(item);removed += 1
|
||||
assert removed==2
|
||||
group = ET.SubElement(tree.getroot(),'ItemGroup')
|
||||
for relative in ['clients/dotnet/ZB.MOM.WW.HistorianGateway.Client/ZB.MOM.WW.HistorianGateway.Client.csproj',
|
||||
'src/ZB.MOM.WW.HistorianGateway.Contracts/ZB.MOM.WW.HistorianGateway.Contracts.csproj']:
|
||||
ET.SubElement(group,'ProjectReference',Include=str(hg/relative))
|
||||
tree.write(adapter,encoding='unicode')
|
||||
metadata['temporary_override']='Only archived Gateway csproj: two package references replaced by exact archived HG project references; no package packed or published.'
|
||||
# Copy cached dependencies independently, preferably APFS copy-on-write, into the isolated package root.
|
||||
cache = out/'packages'; cache.mkdir()
|
||||
assets = json.loads((root/project.parent/'obj/project.assets.json').read_text())
|
||||
normal = Path(next(iter(assets['packageFolders'])))
|
||||
for library in assets['libraries'].values():
|
||||
if library.get('type')!='package':continue
|
||||
relative = library['path']; source=normal/relative; target=cache/relative
|
||||
target.parent.mkdir(parents=True,exist_ok=True)
|
||||
if target.exists():continue
|
||||
r=subprocess.run(['cp','-cR',str(source),str(target)],stdout=subprocess.DEVNULL,stderr=subprocess.DEVNULL)
|
||||
if r.returncode: shutil.copytree(source,target)
|
||||
config = ET.parse(root/'NuGet.config')
|
||||
for source in config.getroot().find('packageSources'):
|
||||
if source.get('key')=='local-mxgw':
|
||||
local = root/'nuget-packages'
|
||||
if not local.exists():local=out/'empty-local';local.mkdir()
|
||||
source.set('value',str(local))
|
||||
config.write(out/'NuGet.config',encoding='unicode')
|
||||
env=dict(os.environ,NUGET_PACKAGES=str(cache),NUGET_HTTP_CACHE_PATH=str(out/'http-cache'),DOTNET_CLI_HOME=str(out/'dotnet-home'),
|
||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE='1',DOTNET_GENERATE_ASPNET_CERTIFICATE='false',DOTNET_CLI_TELEMETRY_OPTOUT='1')
|
||||
commands=[]
|
||||
def run(args,name):
|
||||
with (out/name).open('w') as log:r=subprocess.run(args,cwd=consumer,env=env,stdout=log,stderr=subprocess.STDOUT)
|
||||
commands.append({'argv':args,'exit':r.returncode,'log':name})
|
||||
(out/'commands.json').write_text(json.dumps(commands,indent=2));print(name,'exit',r.returncode,flush=True)
|
||||
return r.returncode
|
||||
restore = run(['dotnet','restore',str(project),'--configfile',str(out/'NuGet.config'),'--packages',str(cache)],'restore.log')
|
||||
metadata['restore_exit']=restore
|
||||
if restore:
|
||||
(out/'metadata.json').write_text(json.dumps(metadata,indent=2));raise SystemExit(restore)
|
||||
results=out/'test-results'
|
||||
test = run(['dotnet','test',str(project),'-c','Release','--no-restore','--logger','trx','--results-directory',str(results)],'test.log')
|
||||
guard_env=env.copy();guard_env['MIN_EXECUTED']='1'
|
||||
with (out/'guard.log').open('w') as log:
|
||||
guard=subprocess.run(['bash',str(consumer/'scripts/ci/assert-not-all-skipped.sh'),*[str(p) for p in results.glob('*.trx')]],env=guard_env,stdout=log,stderr=subprocess.STDOUT)
|
||||
metadata.update({'test_exit':test,'guard_exit':guard.returncode})
|
||||
ns={'t':'http://microsoft.com/schemas/VisualStudio/TeamTest/2010'}
|
||||
metadata['results']=[]
|
||||
for trx in results.glob('*.trx'):
|
||||
xml=ET.parse(trx);metadata['results'].append(xml.find('.//t:Counters',ns).attrib)
|
||||
metadata['tls_cases']=[{'name':r.get('testName'),'outcome':r.get('outcome'),'output':'\n'.join(p.text or '' for p in r.findall('.//t:StdOut',ns)),
|
||||
'error':r.findtext('.//t:Message','',ns)} for r in xml.findall('.//t:UnitTestResult',ns) if 'HistorianGatewayTlsPolicyWireTests' in r.get('testName','')]
|
||||
if published:
|
||||
metadata['package_proof'] = verify_published_packages(root, consumer, cache, project)
|
||||
(out/'metadata.json').write_text(json.dumps(metadata,indent=2));print(json.dumps(metadata,indent=2),flush=True)
|
||||
raise SystemExit(test if test else guard.returncode)
|
||||
@@ -0,0 +1,93 @@
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Opc.Ua;
|
||||
using Opc.Ua.Client;
|
||||
using Opc.Ua.Configuration;
|
||||
using ZB.MOM.WW.OtOpcUa.Core.Authorization;
|
||||
using ZB.MOM.WW.OtOpcUa.Host.Configuration;
|
||||
using ZB.MOM.WW.OtOpcUa.Runtime.DeploymentCache;
|
||||
|
||||
using var deadline = new CancellationTokenSource(TimeSpan.FromSeconds(45));
|
||||
var ct = deadline.Token;
|
||||
var mode = args[0];
|
||||
var root = Path.GetFullPath(args[1]);
|
||||
if (mode == "seed")
|
||||
{
|
||||
var config = new ConfigurationBuilder().AddInMemoryCollection(new Dictionary<string, string?>
|
||||
{ ["LocalDb:Path"] = Path.Combine(root, "localdb.db") }).Build();
|
||||
await using var provider = new ServiceCollection().AddLogging().AddOtOpcUaLocalDb(config).BuildServiceProvider();
|
||||
var presented = Environment.GetEnvironmentVariable("SMOKE_API_KEY") ?? throw new InvalidOperationException("Missing task credential.");
|
||||
if (!ApiKeySecret.TryParse(presented, out var id, out var secret)) throw new InvalidOperationException("Invalid task credential format.");
|
||||
var pepper = Environment.GetEnvironmentVariable("Security__ApiKeys__Pepper") ?? throw new InvalidOperationException("Missing task pepper.");
|
||||
var artifact = JsonSerializer.SerializeToUtf8Bytes(new
|
||||
{
|
||||
Clusters = new[] { new { ClusterId = "smoke", Name = "Smoke" } },
|
||||
RawFolders = new[] { new { RawFolderId = "smoke", Name = "Smoke", ClusterId = "smoke" } },
|
||||
ApiKeys = new[] { new { ApiKeyId = id, Name = "publish-smoke", Principal = "publish-smoke",
|
||||
Enabled = true, SecretHash = ApiKeySecret.ComputeHash(secret, pepper), CreatedUtc = DateTime.UtcNow } },
|
||||
NodeAcls = new[] { new { NodeAclId = "smoke-read", ClusterId = "smoke", Principal = "publish-smoke",
|
||||
ScopeKind = 0, ScopeId = (string?)null, PermissionFlags = 7 } },
|
||||
});
|
||||
var revision = Convert.ToHexStringLower(SHA256.HashData(artifact));
|
||||
await provider.GetRequiredService<IDeploymentArtifactCache>().StoreAsync("smoke", ZB.MOM.WW.OtOpcUa.Commons.Types.DeploymentId.NewId().ToString(), revision, artifact, ct);
|
||||
Console.WriteLine(JsonSerializer.Serialize(new { mode, result = "seeded-through-public-cache", revision }));
|
||||
return;
|
||||
}
|
||||
|
||||
var telemetry = DefaultTelemetry.Create(_ => { });
|
||||
var clientName = mode == "prepare-cli" ? "OtOpcUaClient" : "PublishSmokeClient";
|
||||
var security = new SecurityConfiguration
|
||||
{
|
||||
ApplicationCertificate = new CertificateIdentifier { StoreType = CertificateStoreType.Directory,
|
||||
StorePath = Path.Combine(root, "own"), SubjectName = "CN=" + clientName },
|
||||
TrustedIssuerCertificates = new CertificateTrustList { StoreType = CertificateStoreType.Directory, StorePath = Path.Combine(root, "issuer") },
|
||||
TrustedPeerCertificates = new CertificateTrustList { StoreType = CertificateStoreType.Directory, StorePath = Path.Combine(root, "trusted") },
|
||||
RejectedCertificateStore = new CertificateTrustList { StoreType = CertificateStoreType.Directory, StorePath = Path.Combine(root, "rejected") },
|
||||
AutoAcceptUntrustedCertificates = false,
|
||||
};
|
||||
var configuration = new ApplicationConfiguration(telemetry)
|
||||
{
|
||||
ApplicationName = clientName, ApplicationUri = "urn:localhost:" + clientName,
|
||||
ApplicationType = ApplicationType.Client, SecurityConfiguration = security,
|
||||
ClientConfiguration = new ClientConfiguration { DefaultSessionTimeout = 60_000 },
|
||||
};
|
||||
await using var application = new ApplicationInstance(telemetry)
|
||||
{ ApplicationName = configuration.ApplicationName, ApplicationType = ApplicationType.Client, ApplicationConfiguration = configuration };
|
||||
await configuration.ValidateAsync(ApplicationType.Client, ct);
|
||||
await application.CheckApplicationInstanceCertificatesAsync(true, lifeTimeInMonths: 12, ct);
|
||||
if (mode is "prepare" or "prepare-cli")
|
||||
{
|
||||
Console.WriteLine(JsonSerializer.Serialize(new { mode, result = "prepared", autoAccept = security.AutoAcceptUntrustedCertificates }));
|
||||
return;
|
||||
}
|
||||
var endpoint = args[2];
|
||||
var expected = args[3];
|
||||
var credential = Environment.GetEnvironmentVariable("SMOKE_API_KEY") ?? throw new InvalidOperationException("Missing task credential.");
|
||||
try
|
||||
{
|
||||
var selected = await CoreClientUtils.SelectEndpointAsync(configuration, endpoint, true, telemetry, ct)
|
||||
?? throw new InvalidOperationException("No secure endpoint advertised.");
|
||||
if (selected.SecurityMode != MessageSecurityMode.SignAndEncrypt || selected.SecurityPolicyUri != SecurityPolicies.Basic256Sha256)
|
||||
throw new InvalidOperationException("Unexpected negotiated security policy.");
|
||||
using var session = await new DefaultSessionFactory(telemetry).CreateAsync(configuration,
|
||||
new ConfiguredEndpoint(null, selected, EndpointConfiguration.Create(configuration)), false, true,
|
||||
"PublishSmoke", 60_000, new UserIdentity("apikey", Encoding.UTF8.GetBytes(credential)), default, ct);
|
||||
if (expected != "allow") throw new InvalidOperationException("A denied test credential or peer was admitted.");
|
||||
var response = await session.ReadAsync(null, 0, TimestampsToReturn.Both,
|
||||
[new ReadValueId { NodeId = VariableIds.Server_ServerStatus_State, AttributeId = Attributes.Value }], ct);
|
||||
if (response.Results.Count != 1 || StatusCode.IsBad(response.Results[0].StatusCode)) throw new InvalidOperationException("Server status read failed.");
|
||||
Console.WriteLine(JsonSerializer.Serialize(new { mode, expected, result = "allowed", policy = selected.SecurityPolicyUri,
|
||||
securityMode = selected.SecurityMode.ToString(), status = response.Results[0].StatusCode.ToString(), autoAccept = false }));
|
||||
await session.CloseAsync(ct);
|
||||
}
|
||||
catch (ServiceResultException error) when (expected != "allow")
|
||||
{
|
||||
var accepted = expected == "key-deny"
|
||||
? new[] { StatusCodes.BadUserAccessDenied, StatusCodes.BadIdentityTokenRejected, StatusCodes.BadIdentityTokenInvalid }
|
||||
: new[] { StatusCodes.BadCertificateUntrusted, StatusCodes.BadSecurityChecksFailed, StatusCodes.BadSecureChannelClosed };
|
||||
if (!accepted.Contains(error.StatusCode)) throw;
|
||||
Console.WriteLine(JsonSerializer.Serialize(new { mode, expected, result = "denied", status = error.StatusCode.ToString(), autoAccept = false }));
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="../../../src/Server/ZB.MOM.WW.OtOpcUa.Host/ZB.MOM.WW.OtOpcUa.Host.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,70 @@
|
||||
# Actual Host publish smoke
|
||||
|
||||
From an isolated candidate checkout, publish the actual Host and CLI for Linux ARM64
|
||||
and Windows x64 using the install recipe's self-contained setting. Do not use a
|
||||
checkout that another process is building, and choose a new artifact directory.
|
||||
|
||||
```bash
|
||||
task_output=/absolute/fresh/publish-smoke
|
||||
test ! -e "$task_output" || exit 2
|
||||
mkdir -p "$task_output"
|
||||
for rid in linux-arm64 win-x64; do
|
||||
dotnet publish src/Server/ZB.MOM.WW.OtOpcUa.Host/ZB.MOM.WW.OtOpcUa.Host.csproj \
|
||||
-c Release -r "$rid" --self-contained true \
|
||||
-p:PublishSingleFile=false -p:PublishTrimmed=false -m:1 \
|
||||
-o "$task_output/$rid/host" || exit
|
||||
dotnet publish src/Client/ZB.MOM.WW.OtOpcUa.Client.CLI/ZB.MOM.WW.OtOpcUa.Client.CLI.csproj \
|
||||
-c Release -r "$rid" --self-contained true \
|
||||
-p:PublishSingleFile=false -p:PublishTrimmed=false -m:1 \
|
||||
-o "$task_output/$rid/cli" || exit
|
||||
done
|
||||
dotnet publish scripts/validation/opcua-publish-smoke/PublishProbe.csproj \
|
||||
-c Release -m:1 -o "$task_output/probe" || exit
|
||||
python3 scripts/validation/opcua-publish-smoke/runtime.py --artifacts "$task_output"
|
||||
```
|
||||
|
||||
The cached `mcr.microsoft.com/dotnet/sdk:10.0.103-noble` image must be ARM64 for this
|
||||
Linux artifact. The SDK image supplies the small probe's framework; the actual
|
||||
Host and CLI are launched through their published self-contained apphosts. There
|
||||
is no Native AOT, trimming, or single-file transformation.
|
||||
|
||||
The runtime script creates a fresh private state directory, ephemeral keys and
|
||||
loopback ports. A temporary preparation container seeds the LocalDb cache through
|
||||
public production registration/cache APIs. The artifact contains an empty driver
|
||||
configuration, one raw folder, and a real HMAC API key with read/browse/subscribe
|
||||
grants. No production authentication seam is replaced. The actual Host uses
|
||||
`Cluster:Roles=driver`, `ConfigSource:Mode=FetchAndCache`, an unreachable loopback
|
||||
central endpoint, and task-only LocalDb, secrets SQLite and GUID PKI paths. Its
|
||||
single-node Akka seed is local. Every container has `--network none`; no fleet
|
||||
endpoint, ConfigDb, existing container, volume, or PKI is used.
|
||||
|
||||
One task-owned container runs the actual Host as its entrypoint, stops cleanly,
|
||||
then starts the same executable with the same state and PKI again. Each boot must
|
||||
serve healthy readiness, liveness and active endpoints, admit a trusted
|
||||
Basic256Sha256 SignAndEncrypt API-key client, reject a wrong key, and allow an
|
||||
actual published CLI read of ServerStatus.State with Good quality. The first boot
|
||||
also rejects an untrusted server and an untrusted client. The two certificate
|
||||
thumbprints must match. Both stops must exit zero without an OOM kill. An explicit
|
||||
execution guard requires two boots and all six strict SDK probe cases.
|
||||
|
||||
The probe retains its public SDK ApplicationInstance throughout its session and
|
||||
disposes it afterward. Peer autoaccept is false. The CLI's existing configuration
|
||||
sets autoaccept true and has no strict-validation flag, so its successful reads
|
||||
are not counted as strict peer-validation coverage. Its certificate is prepared
|
||||
with its normal application name and URI using public SDK APIs and trusted by the
|
||||
server before startup. A closed-port CLI preflight is an expected nonzero setup
|
||||
check, not a passing connection case.
|
||||
|
||||
`commands.json`, per-case logs, health JSON and `summary.json` retain actual exits,
|
||||
results and certificate identity. Secrets are supplied through a mode-0600 task
|
||||
environment file, never written into recorded arguments, and the file is removed
|
||||
at the end. Raw process output and this run's appended rolling-file output are
|
||||
checked for task secrets before redacted copies are saved. Only the captured,
|
||||
task-labelled container is removed; private bind-mounted state remains local for
|
||||
inspection and must not be redistributed with release artifacts.
|
||||
|
||||
Windows cross-publish and PE/native/dependency inspection can run on macOS.
|
||||
Windows service installation and start/stop remain a separate operator gate on
|
||||
an approved Windows environment. The Wonder-box remote-execution hold still
|
||||
applies: no WinRM, psbridge, or replacement remote-execution channel. This smoke
|
||||
does not complete backend, load, failover, or two-hour soak validation.
|
||||
@@ -0,0 +1,152 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Smoke actual self-contained Linux Host/CLI artifacts with task-only PKI and LocalDb."""
|
||||
import argparse, base64, datetime, hashlib, json, os, re, secrets, shutil, subprocess, time, uuid
|
||||
from pathlib import Path
|
||||
|
||||
p = argparse.ArgumentParser(description=__doc__)
|
||||
p.add_argument('--artifacts', required=True, type=Path)
|
||||
p.add_argument('--image', default='mcr.microsoft.com/dotnet/sdk:10.0.103-noble')
|
||||
a = p.parse_args(); out = a.artifacts.resolve()
|
||||
run = out / ('runtime-' + uuid.uuid4().hex); run.mkdir(exist_ok=False)
|
||||
state = run / 'state'; state.mkdir(); os.chmod(state, 0o700)
|
||||
identifier = uuid.uuid4().hex[:12]
|
||||
web, ua, akka = [20000 + secrets.randbelow(10000) for _ in range(3)]
|
||||
while len({web, ua, akka}) != 3: web, ua, akka = [20000 + secrets.randbelow(10000) for _ in range(3)]
|
||||
key = 'otua_' + secrets.token_hex(8) + '_' + secrets.token_urlsafe(32)
|
||||
pepper, fetch = secrets.token_urlsafe(32), secrets.token_urlsafe(32)
|
||||
master = base64.b64encode(secrets.token_bytes(32)).decode()
|
||||
env = {
|
||||
'ASPNETCORE_URLS': f'http://127.0.0.1:{web}', 'ASPNETCORE_ENVIRONMENT': 'Production',
|
||||
'Cluster__Roles__0': 'driver',
|
||||
'Cluster__SystemName': 'otopcua', 'Cluster__Hostname': '127.0.0.1',
|
||||
'Cluster__PublicHostname': '127.0.0.1', 'Cluster__Port': str(akka),
|
||||
'Cluster__SeedNodes__0': f'akka.tcp://otopcua@127.0.0.1:{akka}',
|
||||
'ConfigSource__Mode': 'FetchAndCache', 'ConfigSource__CentralFetchEndpoints__0': 'http://127.0.0.1:1',
|
||||
'ConfigSource__ApiKey': fetch, 'ConfigSource__FetchTimeoutSeconds': '1',
|
||||
'LocalDb__Path': '/state/localdb.db', 'Secrets__SqlitePath': '/state/secrets.db',
|
||||
'ZB_SECRETS_MASTER_KEY': master, 'Security__ApiKeys__Pepper': pepper,
|
||||
'Security__Ldap__Enabled': 'false', 'Security__Acl__Enabled': 'false',
|
||||
'OpcUa__ApplicationName': 'PublishSmoke-' + identifier,
|
||||
'OpcUa__ApplicationUri': 'urn:localhost:PublishSmoke:' + identifier,
|
||||
'OpcUa__PublicHostname': 'localhost', 'OpcUa__OpcUaPort': str(ua),
|
||||
'OpcUa__PkiStoreRoot': '/state/server-pki-' + identifier,
|
||||
'OpcUa__AllowAnonymous': 'false', 'OpcUa__AutoAcceptUntrustedClientCertificates': 'false',
|
||||
'OpcUa__EnabledSecurityProfiles__0': 'Basic256Sha256SignAndEncrypt',
|
||||
'SMOKE_API_KEY': key, 'XDG_DATA_HOME': '/state/cli-data', 'HOME': '/state/home',
|
||||
}
|
||||
envfile = run / 'private.env'; envfile.write_text(''.join(f'{k}={v}\n' for k,v in env.items())); os.chmod(envfile, 0o600)
|
||||
redactions = [key, key.split('_', 2)[2], pepper, fetch, master]
|
||||
def clean(text):
|
||||
for secret in redactions: text = text.replace(secret, '<ephemeral-secret>')
|
||||
return text
|
||||
records = []
|
||||
raw_secret_findings = []
|
||||
rolling_root = out / 'linux-arm64/host/logs'
|
||||
rolling_offsets = {p: p.stat().st_size for p in rolling_root.glob('*') if p.is_file()}
|
||||
def command(args, name, expected=0, timeout=90):
|
||||
start = datetime.datetime.now(datetime.timezone.utc).isoformat()
|
||||
result = subprocess.run(args, text=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, timeout=timeout)
|
||||
raw_secret_findings.append({'log': name, 'occurrences': sum(result.stdout.count(secret) for secret in redactions)})
|
||||
(run / (name + '.log')).write_text(clean(result.stdout))
|
||||
records.append({'name': name, 'utc': start, 'argv': [clean(str(x)) for x in args], 'exit': result.returncode})
|
||||
(run / 'commands.json').write_text(json.dumps(records, indent=2))
|
||||
if expected is not None and result.returncode != expected:
|
||||
raise RuntimeError(f'{name}: exit {result.returncode}; see {run / (name + ".log")}')
|
||||
return result
|
||||
mounts = ['--mount', f'type=bind,src={out},dst=/work', '--mount', f'type=bind,src={state},dst=/state']
|
||||
base = ['docker','run','--rm','--network','none','--label','codex.task=opcua-publish-smoke','--env-file',str(envfile),*mounts,'-w','/work/linux-arm64/host',a.image]
|
||||
probe = ['dotnet','/work/probe/PublishProbe.dll']
|
||||
cli = ['/work/linux-arm64/cli/ZB.MOM.WW.OtOpcUa.Client.CLI']
|
||||
server_pki = state / ('server-pki-' + identifier)
|
||||
container = None; summary = {'run': str(run), 'image': a.image, 'ports': {'http':web,'ua':ua,'akka':akka}, 'boots':[], 'cases':[]}
|
||||
def copy_public(source, target):
|
||||
target.mkdir(parents=True, exist_ok=True)
|
||||
certs = list(source.glob('*.der'))
|
||||
if not certs: raise RuntimeError(f'No public certificates at {source}')
|
||||
for cert in certs: shutil.copy2(cert, target / cert.name)
|
||||
def inspect(): return json.loads(subprocess.check_output(['docker','inspect',container], text=True))[0]
|
||||
def save_logs(name):
|
||||
r = subprocess.run(['docker','logs',container],text=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
|
||||
raw_secret_findings.append({'log': name, 'occurrences': sum(r.stdout.count(secret) for secret in redactions)})
|
||||
(run / (name + '.log')).write_text(clean(r.stdout))
|
||||
def exec_probe(name, pki, expected, credential=None):
|
||||
args = ['docker','exec']
|
||||
if credential: args += ['-e','SMOKE_API_KEY=' + credential]
|
||||
args += [container,*probe,'probe',pki,f'opc.tcp://localhost:{ua}/OtOpcUa',expected]
|
||||
r = command(args,name)
|
||||
payload = json.loads(r.stdout.strip().splitlines()[-1]); summary['cases'].append({'name':name,**payload})
|
||||
try:
|
||||
command([*base,*probe,'seed','/state'],'seed')
|
||||
command([*base,*probe,'prepare','/state/client-pki'],'prepare-trusted-client')
|
||||
command([*base,*probe,'prepare','/state/untrusted-client-pki'],'prepare-untrusted-client')
|
||||
command([*base,*cli,'--help'],'cli-help')
|
||||
command([*base,*probe,'prepare-cli','/state/cli-data/OtOpcUaClient/pki'],'prepare-cli-certificate')
|
||||
failed = command([*base,*cli,'read','--url','opc.tcp://localhost:1/OtOpcUa','--security','encrypt','--username','apikey','--password',key,'--node','i=2259'],'cli-prepare-on-closed-port',expected=None)
|
||||
if failed.returncode == 0: raise RuntimeError('Closed-port CLI fixture preparation unexpectedly succeeded.')
|
||||
copy_public(state/'client-pki/own/certs',server_pki/'trusted/certs')
|
||||
copy_public(state/'cli-data/OtOpcUaClient/pki/own/certs',server_pki/'trusted/certs')
|
||||
name = 'otopcua-sdk2-publish-' + identifier
|
||||
result = command(['docker','create','--name',name,'--network','none','--label','codex.task=opcua-publish-smoke','--env-file',str(envfile),*mounts,'-w','/work/linux-arm64/host',a.image,'./OtOpcUa.Host'],'container-create')
|
||||
container = result.stdout.strip()
|
||||
summary['container'] = container
|
||||
for boot in [1,2]:
|
||||
command(['docker','start',container],f'boot{boot}-start')
|
||||
deadline = time.monotonic() + 90
|
||||
health = None
|
||||
while time.monotonic() < deadline:
|
||||
if not inspect()['State']['Running']:
|
||||
save_logs(f'boot{boot}-host'); raise RuntimeError('Full Host exited before health readiness.')
|
||||
r = subprocess.run(['docker','exec',container,'curl','-fsS',f'http://127.0.0.1:{web}/health/ready'],text=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
|
||||
if r.returncode == 0:
|
||||
health = r.stdout; break
|
||||
time.sleep(1)
|
||||
if health is None:
|
||||
save_logs(f'boot{boot}-host'); raise RuntimeError('Full Host readiness did not become healthy.')
|
||||
if json.loads(health).get('status') != 'Healthy': raise RuntimeError('Readiness is degraded or unhealthy.')
|
||||
(run/f'boot{boot}-ready.json').write_text(health)
|
||||
command(['docker','exec',container,'curl','-fsS',f'http://127.0.0.1:{web}/healthz'],f'boot{boot}-live')
|
||||
command(['docker','exec',container,'curl','-fsS',f'http://127.0.0.1:{web}/health/active'],f'boot{boot}-active')
|
||||
certs = list((server_pki/'own/certs').glob('*.der'))
|
||||
if len(certs) != 1: raise RuntimeError('Expected exactly one application certificate.')
|
||||
cert_sha256 = hashlib.sha256(certs[0].read_bytes()).hexdigest()
|
||||
thumbprint = subprocess.check_output(['openssl','x509','-inform','DER','-in',str(certs[0]),'-noout','-fingerprint','-sha1'],text=True).strip()
|
||||
copy_public(server_pki/'own/certs',state/'client-pki/trusted/certs')
|
||||
copy_public(server_pki/'own/certs',state/'untrusted-client-pki/trusted/certs')
|
||||
exec_probe(f'boot{boot}-trusted-key','/state/client-pki','allow')
|
||||
exec_probe(f'boot{boot}-wrong-key','/state/client-pki','key-deny',key+'-wrong')
|
||||
if boot == 1:
|
||||
hold = state/'hold-server-trust'; shutil.move(str(state/'client-pki/trusted/certs'),hold)
|
||||
(state/'client-pki/trusted/certs').mkdir()
|
||||
try: exec_probe('untrusted-server','/state/client-pki','peer-deny')
|
||||
finally:
|
||||
shutil.rmtree(state/'client-pki/trusted/certs'); shutil.move(str(hold),state/'client-pki/trusted/certs')
|
||||
exec_probe('untrusted-client','/state/untrusted-client-pki','peer-deny')
|
||||
r = command(['docker','exec',container,*cli,'read','--url',f'opc.tcp://localhost:{ua}/OtOpcUa','--security','encrypt','--username','apikey','--password',key,'--node','i=2259'],f'boot{boot}-actual-cli-read')
|
||||
if not re.search(r'^Status:\s+Good(?:\s|$)', r.stdout, re.MULTILINE): raise RuntimeError('Actual CLI did not report a Good server status read.')
|
||||
command(['docker','stop','--time','30',container],f'boot{boot}-stop',timeout=45)
|
||||
stopped = inspect()['State']; save_logs(f'boot{boot}-host')
|
||||
if stopped['Running'] or stopped['ExitCode'] != 0 or stopped['OOMKilled']: raise RuntimeError('Full Host did not shut down cleanly.')
|
||||
summary['boots'].append({'boot':boot,'certificate_sha256':cert_sha256,'thumbprint':thumbprint,'exit':stopped['ExitCode'],'oomKilled':stopped['OOMKilled'],'health_ready':health})
|
||||
if summary['boots'][0]['thumbprint'] != summary['boots'][1]['thumbprint']: raise RuntimeError('Application certificate changed between boots.')
|
||||
summary['certificate_preserved'] = True
|
||||
for path in rolling_root.glob('*'):
|
||||
if not path.is_file(): continue
|
||||
text = path.read_bytes()[rolling_offsets.get(path, 0):].decode(errors='replace')
|
||||
raw_secret_findings.append({'log': 'rolling-' + path.name, 'occurrences': sum(text.count(secret) for secret in redactions)})
|
||||
(run / ('rolling-' + path.name)).write_text(clean(text))
|
||||
if len(summary['boots']) != 2 or len(summary['cases']) != 6: raise RuntimeError('Required smoke cases did not all execute.')
|
||||
if any(x['occurrences'] for x in raw_secret_findings): raise RuntimeError('Task secret appeared in raw application output; see recorded occurrence counts.')
|
||||
summary['result'] = 'passed'
|
||||
finally:
|
||||
if container:
|
||||
save_logs('host-final')
|
||||
owned = inspect()
|
||||
if owned['Config']['Labels'].get('codex.task') != 'opcua-publish-smoke': raise RuntimeError('Task container ownership changed.')
|
||||
command(['docker','rm','-f',container],'container-cleanup')
|
||||
logs = '\n'.join(x.read_text(errors='replace') for x in run.glob('*.log'))
|
||||
summary['task_secret_occurrences_in_saved_logs'] = sum(logs.count(secret) for secret in redactions)
|
||||
summary['raw_log_secret_findings'] = raw_secret_findings
|
||||
summary['completed_utc'] = datetime.datetime.now(datetime.timezone.utc).isoformat()
|
||||
(run/'summary.json').write_text(json.dumps(summary,indent=2))
|
||||
envfile.unlink(missing_ok=True)
|
||||
print(json.dumps(summary,indent=2))
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"Id": "sha256:b04611ee9e1b7d36797012ed921962c57189cb4dbb3dff12afb8e158110f293b",
|
||||
"RepoDigests": [
|
||||
"mcr.microsoft.com/dotnet/sdk@sha256:e362a8dbcd691522456da26a5198b8f3ca1d7641c95624fadc5e3e82678bd08a"
|
||||
],
|
||||
"Architecture": "arm64",
|
||||
"Os": "linux"
|
||||
}
|
||||
-534
@@ -1,534 +0,0 @@
|
||||
{
|
||||
"scope": "Early short3round,10warmup+50measured/kind, shared-host diagnostic only. This source run had insufficient alarm browse assertions and is superseded as functional evidence by run-10. Preserve these original timing observations without claiming the earlier functional matrix passed the full browse contract.",
|
||||
"source": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-07/matrix.json",
|
||||
"measurements": [
|
||||
{
|
||||
"name": "baseline-client-to-baseline-server",
|
||||
"sdk": "1.5.378.0",
|
||||
"observations": [
|
||||
{
|
||||
"benchmarkRound": 1,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.1949,
|
||||
"p95": 0.2802,
|
||||
"p99": 0.3099,
|
||||
"throughputOperationsPerSecond": 4941.39505465183
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.2127,
|
||||
"p95": 0.2761,
|
||||
"p99": 0.4201,
|
||||
"throughputOperationsPerSecond": 4527.919149475669
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.1511,
|
||||
"p95": 0.2183,
|
||||
"p99": 0.3511,
|
||||
"throughputOperationsPerSecond": 6323.190935073475
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.1346,
|
||||
"p95": 0.2007,
|
||||
"p99": 0.2762,
|
||||
"throughputOperationsPerSecond": 6981.777560566919
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 51.315,
|
||||
"clientAllocatedBytes": 1317880,
|
||||
"clientWorkingSetBytes": 134643712,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 18,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 2,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.1667,
|
||||
"p95": 0.2128,
|
||||
"p99": 0.2603,
|
||||
"throughputOperationsPerSecond": 5854.595271828857
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.1705,
|
||||
"p95": 0.2398,
|
||||
"p99": 0.2455,
|
||||
"throughputOperationsPerSecond": 5681.043494068992
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.1645,
|
||||
"p95": 0.2415,
|
||||
"p99": 7.8687,
|
||||
"throughputOperationsPerSecond": 3070.70607815561
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.1646,
|
||||
"p95": 0.2192,
|
||||
"p99": 0.2517,
|
||||
"throughputOperationsPerSecond": 5982.650314089142
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 45.783,
|
||||
"clientAllocatedBytes": 1318464,
|
||||
"clientWorkingSetBytes": 136298496,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 18,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 3,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.1606,
|
||||
"p95": 0.2057,
|
||||
"p99": 0.2141,
|
||||
"throughputOperationsPerSecond": 6152.7102688734385
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.1645,
|
||||
"p95": 0.1888,
|
||||
"p99": 0.1986,
|
||||
"throughputOperationsPerSecond": 6050.338818973862
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.1262,
|
||||
"p95": 0.1857,
|
||||
"p99": 2.3447,
|
||||
"throughputOperationsPerSecond": 5717.945199213212
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.1297,
|
||||
"p95": 0.1718,
|
||||
"p99": 0.1826,
|
||||
"throughputOperationsPerSecond": 7597.05234369065
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 43.613,
|
||||
"clientAllocatedBytes": 1296800,
|
||||
"clientWorkingSetBytes": 137920512,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 18,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
1,
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "baseline-client-to-candidate-server",
|
||||
"sdk": "1.5.378.0",
|
||||
"observations": [
|
||||
{
|
||||
"benchmarkRound": 1,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.2427,
|
||||
"p95": 0.2798,
|
||||
"p99": 0.3337,
|
||||
"throughputOperationsPerSecond": 4066.528404700906
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.2384,
|
||||
"p95": 0.2922,
|
||||
"p99": 0.2955,
|
||||
"throughputOperationsPerSecond": 4237.647258242225
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.2082,
|
||||
"p95": 0.2556,
|
||||
"p99": 0.3692,
|
||||
"throughputOperationsPerSecond": 4715.602040912563
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.1895,
|
||||
"p95": 0.295,
|
||||
"p99": 0.3612,
|
||||
"throughputOperationsPerSecond": 4881.811347282295
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 55.468,
|
||||
"clientAllocatedBytes": 1325592,
|
||||
"clientWorkingSetBytes": 134545408,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 19,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 2,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.2064,
|
||||
"p95": 0.293,
|
||||
"p99": 0.3812,
|
||||
"throughputOperationsPerSecond": 4710.004992605292
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.2025,
|
||||
"p95": 0.3077,
|
||||
"p99": 0.4019,
|
||||
"throughputOperationsPerSecond": 4707.1671326762125
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.1626,
|
||||
"p95": 0.2309,
|
||||
"p99": 0.2487,
|
||||
"throughputOperationsPerSecond": 5908.2100486836525
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.1752,
|
||||
"p95": 0.243,
|
||||
"p99": 0.2937,
|
||||
"throughputOperationsPerSecond": 5501.336824848437
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 45.733,
|
||||
"clientAllocatedBytes": 1326672,
|
||||
"clientWorkingSetBytes": 136249344,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 19,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 3,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.1973,
|
||||
"p95": 0.2547,
|
||||
"p99": 0.2738,
|
||||
"throughputOperationsPerSecond": 4988.62593287305
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.2038,
|
||||
"p95": 0.2312,
|
||||
"p99": 0.2664,
|
||||
"throughputOperationsPerSecond": 4974.035534509858
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.16,
|
||||
"p95": 0.1892,
|
||||
"p99": 2.4703,
|
||||
"throughputOperationsPerSecond": 4757.46446174047
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.195,
|
||||
"p95": 0.2245,
|
||||
"p99": 0.2277,
|
||||
"throughputOperationsPerSecond": 5199.775369704029
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 46.975,
|
||||
"clientAllocatedBytes": 1286632,
|
||||
"clientWorkingSetBytes": 137936896,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 19,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
1,
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "candidate-client-to-baseline-server",
|
||||
"sdk": "2.0.1.0",
|
||||
"observations": [
|
||||
{
|
||||
"benchmarkRound": 1,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.2241,
|
||||
"p95": 0.2949,
|
||||
"p99": 0.4007,
|
||||
"throughputOperationsPerSecond": 4283.2055510343935
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.2197,
|
||||
"p95": 0.2889,
|
||||
"p99": 0.3367,
|
||||
"throughputOperationsPerSecond": 4384.887922264707
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.1518,
|
||||
"p95": 0.2545,
|
||||
"p99": 0.3429,
|
||||
"throughputOperationsPerSecond": 6052.902366684823
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.1445,
|
||||
"p95": 0.2006,
|
||||
"p99": 0.2097,
|
||||
"throughputOperationsPerSecond": 6667.466762678188
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 63.388,
|
||||
"clientAllocatedBytes": 673504,
|
||||
"clientWorkingSetBytes": 128729088,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 20,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 2,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.1828,
|
||||
"p95": 0.2139,
|
||||
"p99": 0.2324,
|
||||
"throughputOperationsPerSecond": 5446.563762921972
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.1544,
|
||||
"p95": 0.2086,
|
||||
"p99": 8.8284,
|
||||
"throughputOperationsPerSecond": 3001.903206633005
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.1853,
|
||||
"p95": 0.227,
|
||||
"p99": 0.2436,
|
||||
"throughputOperationsPerSecond": 5281.448384404939
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.19,
|
||||
"p95": 0.2219,
|
||||
"p99": 0.2799,
|
||||
"throughputOperationsPerSecond": 5251.163132633879
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 63.984,
|
||||
"clientAllocatedBytes": 674328,
|
||||
"clientWorkingSetBytes": 129597440,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 20,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 3,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.1501,
|
||||
"p95": 0.1844,
|
||||
"p99": 0.196,
|
||||
"throughputOperationsPerSecond": 6574.016855779218
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.1424,
|
||||
"p95": 0.1684,
|
||||
"p99": 0.1927,
|
||||
"throughputOperationsPerSecond": 6859.181013786954
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.1601,
|
||||
"p95": 0.1993,
|
||||
"p99": 0.2257,
|
||||
"throughputOperationsPerSecond": 6130.155460742485
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.1835,
|
||||
"p95": 0.2002,
|
||||
"p99": 0.2039,
|
||||
"throughputOperationsPerSecond": 5506.911173522769
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 58.499,
|
||||
"clientAllocatedBytes": 674224,
|
||||
"clientWorkingSetBytes": 130433024,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 20,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "candidate-client-to-candidate-server",
|
||||
"sdk": "2.0.1.0",
|
||||
"observations": [
|
||||
{
|
||||
"benchmarkRound": 1,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.2968,
|
||||
"p95": 0.3548,
|
||||
"p99": 0.4229,
|
||||
"throughputOperationsPerSecond": 3258.4115895183427
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.2754,
|
||||
"p95": 0.3423,
|
||||
"p99": 0.4283,
|
||||
"throughputOperationsPerSecond": 3531.7718192862994
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.2407,
|
||||
"p95": 0.2708,
|
||||
"p99": 0.3132,
|
||||
"throughputOperationsPerSecond": 4129.194229038145
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.27,
|
||||
"p95": 0.3783,
|
||||
"p99": 0.3875,
|
||||
"throughputOperationsPerSecond": 3553.1047028893854
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 73.878,
|
||||
"clientAllocatedBytes": 685360,
|
||||
"clientWorkingSetBytes": 128188416,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 19,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 2,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.2477,
|
||||
"p95": 0.2772,
|
||||
"p99": 0.2965,
|
||||
"throughputOperationsPerSecond": 4027.580873823946
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.2425,
|
||||
"p95": 0.2885,
|
||||
"p99": 0.357,
|
||||
"throughputOperationsPerSecond": 4128.137384412154
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.2063,
|
||||
"p95": 0.2431,
|
||||
"p99": 0.2776,
|
||||
"throughputOperationsPerSecond": 4806.07487864661
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.261,
|
||||
"p95": 0.3474,
|
||||
"p99": 0.3773,
|
||||
"throughputOperationsPerSecond": 3704.060391000616
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 68.193,
|
||||
"clientAllocatedBytes": 674904,
|
||||
"clientWorkingSetBytes": 129024000,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 19,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 3,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.247,
|
||||
"p95": 0.3,
|
||||
"p99": 0.3212,
|
||||
"throughputOperationsPerSecond": 4017.096763826847
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.211,
|
||||
"p95": 0.2719,
|
||||
"p99": 0.2778,
|
||||
"throughputOperationsPerSecond": 4647.185664361664
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.2318,
|
||||
"p95": 0.262,
|
||||
"p99": 0.291,
|
||||
"throughputOperationsPerSecond": 4246.789427193043
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.2428,
|
||||
"p95": 0.2903,
|
||||
"p99": 0.3024,
|
||||
"throughputOperationsPerSecond": 4139.312708517878
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 67.128,
|
||||
"clientAllocatedBytes": 682744,
|
||||
"clientWorkingSetBytes": 129843200,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 19,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
-792
@@ -1,792 +0,0 @@
|
||||
[
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/Opc.Ua.Client.dll",
|
||||
"sha256": "fd000b186f4bc5dbd9947e876f96c178e8c4259ee3e8717d672a4ac2f4c3a058",
|
||||
"bytes": 852096
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/Opc.Ua.Configuration.dll",
|
||||
"sha256": "30fb5142f13a3b3083c0484bcdedaec2efe2f50e57f10ec6a61257ca5359aa7e",
|
||||
"bytes": 85120
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/Opc.Ua.Core.dll",
|
||||
"sha256": "602e85316943ad7ebae33a23d60a69a6ea50d91250ad0556906b816435daa37c",
|
||||
"bytes": 7945344
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/Opc.Ua.Security.Certificates.dll",
|
||||
"sha256": "a2a05c64348f6f8aa60de0fe27d8e5e22d12e09b1ba6172ca34b3773620e394c",
|
||||
"bytes": 79488
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/Opc.Ua.Types.dll",
|
||||
"sha256": "c5c5e36cf6381444b408fe1b51726b17deca74173764cd62ccee954b3c8c2718",
|
||||
"bytes": 1127552
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/ZB.MOM.WW.OtOpcUa.Client.CLI.deps.json",
|
||||
"sha256": "8756470c547137f40ef9962dfa6f40c6dc2a1801cd397524dce7127fb79b70b9",
|
||||
"bytes": 12175
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/ZB.MOM.WW.OtOpcUa.Client.CLI.dll",
|
||||
"sha256": "38ff27df4c1389d2cf97a7ec1fe206733f02c3664b29c4fe18586ede225a53ca",
|
||||
"bytes": 91648
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/ZB.MOM.WW.OtOpcUa.Client.CLI.runtimeconfig.json",
|
||||
"sha256": "9950d4583cfc9a106857c0d5b8a75b53e8774852b57b80bc3823a74d44a4d87f",
|
||||
"bytes": 330
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/ZB.MOM.WW.OtOpcUa.Client.Shared.dll",
|
||||
"sha256": "326e14df7bf2a7602637fbff36988c3dd4be38de936da24a1b4287c0ab685be6",
|
||||
"bytes": 111616
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/Opc.Ua.Client.dll",
|
||||
"sha256": "fd000b186f4bc5dbd9947e876f96c178e8c4259ee3e8717d672a4ac2f4c3a058",
|
||||
"bytes": 852096
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/Opc.Ua.Configuration.dll",
|
||||
"sha256": "30fb5142f13a3b3083c0484bcdedaec2efe2f50e57f10ec6a61257ca5359aa7e",
|
||||
"bytes": 85120
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/Opc.Ua.Core.dll",
|
||||
"sha256": "602e85316943ad7ebae33a23d60a69a6ea50d91250ad0556906b816435daa37c",
|
||||
"bytes": 7945344
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/Opc.Ua.Security.Certificates.dll",
|
||||
"sha256": "a2a05c64348f6f8aa60de0fe27d8e5e22d12e09b1ba6172ca34b3773620e394c",
|
||||
"bytes": 79488
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/Opc.Ua.Server.dll",
|
||||
"sha256": "d8d9706dea577858325730cd89896826ed82f7bfcf9503ccd0260311663a69f4",
|
||||
"bytes": 642176
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/Opc.Ua.Types.dll",
|
||||
"sha256": "c5c5e36cf6381444b408fe1b51726b17deca74173764cd62ccee954b3c8c2718",
|
||||
"bytes": 1127552
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/OtOpcUa.Host.deps.json",
|
||||
"sha256": "f47fb25d83e40a5c1d96c063f1d63b02a04c222a10554220df58cac896654ea9",
|
||||
"bytes": 153279
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/OtOpcUa.Host.dll",
|
||||
"sha256": "e88fc71f59e69e15c3191a782c29ce44127e320c7560ddd26ce1759787806f98",
|
||||
"bytes": 193024
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/OtOpcUa.Host.runtimeconfig.json",
|
||||
"sha256": "eff38a9750f7cca2407b1d639a963d56ffea92088e6da971bbbfa74e3dcd7224",
|
||||
"bytes": 540
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.AdminUI.dll",
|
||||
"sha256": "1ae11959c22bc53a648b91c6c1ae41e4a5d717e396bd645eae4fb08dc1633597",
|
||||
"bytes": 2152448
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Cluster.dll",
|
||||
"sha256": "d6bc21641172d832004b62b8bb76aeb40622a943be2172f394e5c6333c04ef57",
|
||||
"bytes": 67584
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Commons.dll",
|
||||
"sha256": "be97a0b975afde7ec4ebf0b10de53c26f212ceca1f6a3ae090e40ebfde304413",
|
||||
"bytes": 231424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Configuration.dll",
|
||||
"sha256": "195dab9f7a9f80c45902e653ff361116a307d8110a3f87baad814bea57689b84",
|
||||
"bytes": 542720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.ControlPlane.dll",
|
||||
"sha256": "36954f51b09930df414675e5a0c038933ad2b27cd6560bf797d99801c02b30a1",
|
||||
"bytes": 179200
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll",
|
||||
"sha256": "b0f4e332ced57eae3ab1dcc282c073f51ea0c545a381aef50479ee58f0c23efc",
|
||||
"bytes": 124416
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.dll",
|
||||
"sha256": "a61a6ea68236dd4ed86ab4e74e4d632c5e260103aa5ebd92f4f995eb9f170b22",
|
||||
"bytes": 56320
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.dll",
|
||||
"sha256": "f1e429c0b8fcab8216b9107440008b92eea1236ff1225e79580ad70f51d56431",
|
||||
"bytes": 83968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.dll",
|
||||
"sha256": "ea24898698c8351bc9cf20fcce725dccc93ccf05ef3af7783f73854cc2033c31",
|
||||
"bytes": 13312
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.dll",
|
||||
"sha256": "cf44009a720a00bf9192374d371c7c76e75afbe62cc216b5c1be913b92679127",
|
||||
"bytes": 135168
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.dll",
|
||||
"sha256": "07800332d0842b93c3987fca1dc10a1390bcb16f44567610d867513ad9fe17e0",
|
||||
"bytes": 117248
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.dll",
|
||||
"sha256": "9637b7ffb4984f54bc54363ff2d81b6a3401f0cb7eeed8694db626ef41d54d5b",
|
||||
"bytes": 121856
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.VirtualTags.dll",
|
||||
"sha256": "107aaf2ef2d7704e320dabc1072bc50217faabb2d1488e66c91b1f756b440c45",
|
||||
"bytes": 11264
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.dll",
|
||||
"sha256": "34a4d7c0dddf4efa5fae91a3798c2f1c08b992faf4a827a9e05ed1338c6e4720",
|
||||
"bytes": 124928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.dll",
|
||||
"sha256": "315dcc540d304c9f1d5b48caa25e5f081569f1a41aa8784cf371c1d6cef7322d",
|
||||
"bytes": 123392
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Contracts.dll",
|
||||
"sha256": "d7b34798587d0939cc78eb69d9df1d617c1c75a61b8dd11a5308958a43a8c4f1",
|
||||
"bytes": 24576
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.AbCip.dll",
|
||||
"sha256": "73073627fcdc8079df645478d6717576975117c3b21cfa7e9422f1e3bc5f4e44",
|
||||
"bytes": 214016
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Contracts.dll",
|
||||
"sha256": "5c66d76dd455c42f0c5b0aed11240fa31e1bdbd2f0a8368d8f41976977e93502",
|
||||
"bytes": 30720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.dll",
|
||||
"sha256": "cbf92a935d86596a9d4dbeeaa625e304c2045851a0367c3a6b0de03bf78bd6fa",
|
||||
"bytes": 136704
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.dll",
|
||||
"sha256": "29c079414497b30debe8d3ecd7e77bdc4eb16c4fc076e675680a2e880e54b6c2",
|
||||
"bytes": 10240
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Calculation.dll",
|
||||
"sha256": "132e36042a4691cc8e252ab9e9d8c90592fcd897959f533aa37e33f193cf00c8",
|
||||
"bytes": 57344
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Contracts.dll",
|
||||
"sha256": "2bdbf743194193d5a7bc323912e2c7f740cc21633154a4a3cc8e034fd15bb7e8",
|
||||
"bytes": 38912
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.dll",
|
||||
"sha256": "17c28f27fdecd09a46b971b19655bdb933f84990e91bb80c7092c344a0ca974f",
|
||||
"bytes": 300032
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Browser.dll",
|
||||
"sha256": "f2796d323c222708c28cd0a4289c46db31ec3b6537da7f5cd260fc76f8abdc76",
|
||||
"bytes": 19456
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Contracts.dll",
|
||||
"sha256": "780a11f69194713e2f87e74277e99882ee3518b2824551b45cd04e3b9bdf6648",
|
||||
"bytes": 24576
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.dll",
|
||||
"sha256": "a8e19baa5a736544d914f942d526a5cc038f6b982451bfa82a77365a159434e4",
|
||||
"bytes": 224768
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.dll",
|
||||
"sha256": "400b1896e55d08781231efeba302596299df2b00b2f48afd43d46c22d59b515c",
|
||||
"bytes": 129536
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.dll",
|
||||
"sha256": "8e91a8cce804023639a4bdb2dc60f9fc950992882e50786d45ceeb0f38ed1f68",
|
||||
"bytes": 167424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.dll",
|
||||
"sha256": "2746b8e9c03b5b8c330152803eee91cf2069f0e6c074d70d03017b1f1f1a2398",
|
||||
"bytes": 51712
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.dll",
|
||||
"sha256": "94b9bcd4506427a44158e0b299a5ae7bcee14fd40b85cc9f63420e4631aa1a6f",
|
||||
"bytes": 143872
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.Contracts.dll",
|
||||
"sha256": "6582151085ddea7d319b990c2c58057b6ba5a49860593229b3642dff527ae204",
|
||||
"bytes": 19456
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.dll",
|
||||
"sha256": "c9670c5d169056563294673839ca63321a72a438c519263be708b55f3fc818f9",
|
||||
"bytes": 214016
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.dll",
|
||||
"sha256": "ed07d04709372ef804f465995431b15acdef791f66c8130ab7282372728f7cda",
|
||||
"bytes": 25088
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Contracts.dll",
|
||||
"sha256": "724873ac2f6c08f307a150c5575cc3c022d7e367124ed924c0c7899b0e9575a5",
|
||||
"bytes": 39424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Modbus.dll",
|
||||
"sha256": "db1e3e7c79dc1a46e1d4ffaa5ea1aac9ed73814d7f06cbfa855ebb3b27a8810d",
|
||||
"bytes": 131584
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Browser.dll",
|
||||
"sha256": "ace18db746c30307e67efa3acd68e915cc2b62b0a85bdba833df4ea7c85b5f6c",
|
||||
"bytes": 48128
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Contracts.dll",
|
||||
"sha256": "24e795bd8027d7b3ca3d95630b73be6d7cef774243357b01850f145b6066dcb9",
|
||||
"bytes": 139776
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Transport.dll",
|
||||
"sha256": "bec0cecc0bbb06b4715d7b909ccf4d357420e120b2bff3c10ee9f59f71044927",
|
||||
"bytes": 12800
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.dll",
|
||||
"sha256": "da64eacb80ddca9cd0a40295bba2c8ff81ee9c68ccaf32cbd329ae854375deb7",
|
||||
"bytes": 195072
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Browser.dll",
|
||||
"sha256": "7e2ac501136d24a3d0ad6bdae2e4a47460439ad8ab78af538bbccca2e38e5695",
|
||||
"bytes": 35840
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll",
|
||||
"sha256": "c15e6db37681cbbef8684d5301e1bba54186ae503aaf55d1c2d06a0567ab28fe",
|
||||
"bytes": 20480
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll",
|
||||
"sha256": "910604abd4daa6196c8fdcd2db085873ee5a4c27b5a67c359590071117c6e4dd",
|
||||
"bytes": 16384
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.dll",
|
||||
"sha256": "cd689b0ec777820d91f914abfd9e4a921143a46df84ee43d0214c66f74225ac0",
|
||||
"bytes": 144384
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.S7.Contracts.dll",
|
||||
"sha256": "6fe895674318dc42c0c3cc74266831862d3fe2f13098c26e7d826baf79d7fc47",
|
||||
"bytes": 29696
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.S7.dll",
|
||||
"sha256": "d23a7ac62d781f0c14dd7c9d4f51b712c13599ee78b9b6d302d30dfd5e77da37",
|
||||
"bytes": 124928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.dll",
|
||||
"sha256": "c341d49bf100e0617d9c4e7d24f63d8affd1bc0fe2edce15e51cc14366fa2207",
|
||||
"bytes": 43008
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.dll",
|
||||
"sha256": "f0a0cc852116f739247422a0427550e52c938b27d1a8b4e685f45a19a23635ab",
|
||||
"bytes": 38912
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.dll",
|
||||
"sha256": "7d78655da50c07ac049cd687c59f2a7b6eb2c491543bd4089ffbe60fb805205f",
|
||||
"bytes": 40448
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.dll",
|
||||
"sha256": "6ec1a9bc7443c1d7b8084ee2fc5e67cbfd2a8d61add303a980cef78a46cb5c67",
|
||||
"bytes": 144384
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Contracts.dll",
|
||||
"sha256": "96db9e5d162b19914cf0ba55c1408c1c9271c80c1a1a12604e684f5785de4b96",
|
||||
"bytes": 17408
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.dll",
|
||||
"sha256": "c24cfc897bde6c0eb65b9958bad952814ed02a27fe25a55c416c1ba61be2c261",
|
||||
"bytes": 188928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.OpcUaServer.dll",
|
||||
"sha256": "ee1f704fa1574b77bf56cef415c47c33a4428c6852db52bb1443d6765d092cb1",
|
||||
"bytes": 363008
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Runtime.dll",
|
||||
"sha256": "50e752383ae81ef6bb23e360fafe9162be0d1dcb7dd2d8731f16bce762834dd4",
|
||||
"bytes": 539648
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Security.dll",
|
||||
"sha256": "a88b1577d1e4dd580e012e7673e31d5363c3d9a79fb415bef4c3d63849678a4d",
|
||||
"bytes": 52736
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-baseline-oracle/OtOpcUa/Directory.Packages.props",
|
||||
"sha256": "7e6459447843b93bc94fbc1f3eeb1c695b5c46c08aeb94debe86a7d419c63221",
|
||||
"bytes": 18829
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/Directory.Packages.props",
|
||||
"sha256": "31a4cac1c205f5b9e67119357c77751b8ab999f6c5f350da68784614040c8a93",
|
||||
"bytes": 19000
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"sha256": "841f83aeb3a32d49c06518a98963743d720015bba41ae3138649126ce3a6af1c",
|
||||
"bytes": 94720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll",
|
||||
"sha256": "620da406fabdbc75d11f9827ea7e39d2d3c762471bd2264b0d11f1d6cd9247cd",
|
||||
"bytes": 2442880
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll",
|
||||
"sha256": "6ed6a594c93c3ff35d1a16539a9fe87c1e2640549cc2f48ed6bae333dc8bf0e7",
|
||||
"bytes": 117376
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Schema.dll",
|
||||
"sha256": "51cfad48657d95d38074bb88be29aea6f5b361a07397247d58838d066b99772e",
|
||||
"bytes": 135168
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"sha256": "a7dd141b8dabe8848ff28c2fb8e16a85a0508e6a49e6b1a1c1e267175b99af96",
|
||||
"bytes": 12703872
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll",
|
||||
"sha256": "9d0857aa6b7f3c49037d4ea557b4da8edf07e146069464481783e66c5c9cd35a",
|
||||
"bytes": 2549376
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"sha256": "7f4969aceb2f0db5328c6882cb4b117342f3b18905c38acdba600683860c4fd0",
|
||||
"bytes": 118400
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Server.dll",
|
||||
"sha256": "930e714a2f6e15d393840bcdc95e1afa8012bc740c3738a655f958142721864e",
|
||||
"bytes": 3332224
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll",
|
||||
"sha256": "c542f69882f4e8a4ebd5ccc28a3881d6967c7ffb6dcc3c56dc6c776f39c2ede1",
|
||||
"bytes": 1792640
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/OtOpcUa.Host.deps.json",
|
||||
"sha256": "c289766446d61a6bf15574fdde982a8c44b6faaabb38ad718522f63987a58d69",
|
||||
"bytes": 179492
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/OtOpcUa.Host.dll",
|
||||
"sha256": "a4ac1663a8af08aec150e02c5a9590e6fd346d051256ebbd9ee16019f2ecc6a2",
|
||||
"bytes": 193024
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/OtOpcUa.Host.runtimeconfig.json",
|
||||
"sha256": "eff38a9750f7cca2407b1d639a963d56ffea92088e6da971bbbfa74e3dcd7224",
|
||||
"bytes": 540
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ProcessHost.deps.json",
|
||||
"sha256": "cb76c2da9266dd11b61483fc9425d8a7ed3e25c83b1179ef60bfbd559b7db77c",
|
||||
"bytes": 165039
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"sha256": "e025fc21ac3559c3796ec639f0ef7b9c3026ccbbdaa4783e14b8930eae3a2043",
|
||||
"bytes": 95232
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ProcessHost.runtimeconfig.json",
|
||||
"sha256": "bdbb6b43e509fbbab6c78b7004c4debf1e9791a648a08f730ff5997f71ef7099",
|
||||
"bytes": 508
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.AdminUI.dll",
|
||||
"sha256": "0f76616b8ddccdb681a9e576f7d031a58b0f5e257d579f58b2143679c27afbe6",
|
||||
"bytes": 2152448
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Client.Shared.dll",
|
||||
"sha256": "49729f0e97e752a65fa2f8debb4ea5505a7ccdfe9ca1321ae6bf8ce5323a7049",
|
||||
"bytes": 120320
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Cluster.dll",
|
||||
"sha256": "4ea4a506d94ecd032b41e0e3643f2d407e9904759c892ffa14a28483ad82862e",
|
||||
"bytes": 67584
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Commons.dll",
|
||||
"sha256": "b77b9502c43e126cdb730b535dbd01c76f9f4ad4c79765ba6e7ea447938e3834",
|
||||
"bytes": 231424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Configuration.dll",
|
||||
"sha256": "f7f91c501acd81f7bf2d71740f2141d2cc134248388d2f43f78bb16fbf2e7c37",
|
||||
"bytes": 542720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.ControlPlane.dll",
|
||||
"sha256": "54484082b7d785727c1bbb4cd430542e2c101f31801ef3fe113b99efc8e347c2",
|
||||
"bytes": 179200
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll",
|
||||
"sha256": "c4be146d49102962324a2e4af71f17b2804e6003a82954733dd6302632e5e249",
|
||||
"bytes": 124416
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.dll",
|
||||
"sha256": "71d20c01ccafb8327ee474f1133a7b265d4252872ac9f6fb0b78fe2c8d6e636f",
|
||||
"bytes": 56320
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.dll",
|
||||
"sha256": "3ad5440cb4c1644cad844c50a28ac9c0f9534795a6a553df446fb701c34c191a",
|
||||
"bytes": 83968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.dll",
|
||||
"sha256": "88d9ee543a6a8525a4074ecb9524ce5c095e1bbba8017bde980964cb53da447f",
|
||||
"bytes": 13312
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.dll",
|
||||
"sha256": "c889dd89aad72e130439e916371ec4e63f0abbf10f7934e42caf504d5227aadb",
|
||||
"bytes": 135168
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.dll",
|
||||
"sha256": "6b21c826e93a1f8d942f2ee101d522d2566b8e8fd8b2ef223b4ca75f679d7118",
|
||||
"bytes": 117248
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.dll",
|
||||
"sha256": "f36de3c774ece202f34288c7bee877cbee3d14a688ae8b07aede00ba016f5b57",
|
||||
"bytes": 121856
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.VirtualTags.dll",
|
||||
"sha256": "21893da38bf83afe3cb90f6a4d8caed6bb5db837fecc0c819f88ea7e17c73a27",
|
||||
"bytes": 11264
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.dll",
|
||||
"sha256": "7aec5cb22b6a9939044502eaedf188a5e95887057b6cc7a70b0444ff83f1802b",
|
||||
"bytes": 124928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.dll",
|
||||
"sha256": "86db4c0cbca35c13f9ffaa258ecc54e15fb05c4b5fbda991909f00793a26a1dc",
|
||||
"bytes": 123392
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Contracts.dll",
|
||||
"sha256": "862f63ab4499d1e32cd5a3d7245dca4158398a7d546d5a882be37cb9e4738de8",
|
||||
"bytes": 24576
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbCip.dll",
|
||||
"sha256": "bd5d38bc81fef735143ba58d2158e1cb37b2b9998e32ebb7765a1eea6111c8c5",
|
||||
"bytes": 214016
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Contracts.dll",
|
||||
"sha256": "a0b596bcd65014cafac896c17d1247e0c7cfef076952aee7096d90377ee3aedf",
|
||||
"bytes": 30720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.dll",
|
||||
"sha256": "fdf201aaccbaf10b53eb07f0b627e8ffd3955ec78b3e446be85c03e1ad7ff687",
|
||||
"bytes": 136704
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.dll",
|
||||
"sha256": "36033badc6dcfa646592dfe00aa184c657b24f7d73f17c4574853727275c320f",
|
||||
"bytes": 10240
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Calculation.dll",
|
||||
"sha256": "6124ecc4dae44b0f4012f03d3583c86ce4d0766205386ff7c70f319c77220e87",
|
||||
"bytes": 57344
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Contracts.dll",
|
||||
"sha256": "150a79b5d38205d573399e29a2924eeb62c17261729c82bbf6c606a769f03467",
|
||||
"bytes": 38912
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.dll",
|
||||
"sha256": "b45e29a1d892ae00e914839dfe1001c6eb15ce14af1f9800a0ff48a5517d8dd6",
|
||||
"bytes": 300032
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Browser.dll",
|
||||
"sha256": "87f8d77edc62c8d1c60e69620b297b1cef75b91355c871aae707e3f05f30e267",
|
||||
"bytes": 19456
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Contracts.dll",
|
||||
"sha256": "4eaad55f82495fedcf82a9be3157c748d2fc6b6f59eb7ea41bff88b18332dd51",
|
||||
"bytes": 24576
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.dll",
|
||||
"sha256": "e336053cc6fd0cb57615d2333c9ea99a2a9acac9273c8927af82c3fc551157ac",
|
||||
"bytes": 224768
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.dll",
|
||||
"sha256": "e6f7ebfb5b8078a336601a7603a094ac743c4adbf02bb311dfef29d2328eeb65",
|
||||
"bytes": 129536
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.dll",
|
||||
"sha256": "55e7cf55c8fece377cdef598f901e4347b2da13ab7feb265623866c08bad477f",
|
||||
"bytes": 167424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.dll",
|
||||
"sha256": "b033a90e65f7b67a8ab7ef5c614019a54c12dd5590fc9eae17fca4b736918373",
|
||||
"bytes": 51712
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.dll",
|
||||
"sha256": "685e8961b23190b745568955a34cca1462dffce15007c25a2265f44fd1224436",
|
||||
"bytes": 143872
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.Contracts.dll",
|
||||
"sha256": "a592d1481ea662ef368d07f706e70779a1f879126101f17042ce270c5faa66c3",
|
||||
"bytes": 19456
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.dll",
|
||||
"sha256": "1ca66a30106c4b9476eed6b766ae78a59cbf6b408814e2cce9f1d7fd68773762",
|
||||
"bytes": 214016
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.dll",
|
||||
"sha256": "2cb7c0cd79d399bce99f66d40fedbc002aad0d1204c252c1f62a7edd83e73b09",
|
||||
"bytes": 25088
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Contracts.dll",
|
||||
"sha256": "a8fd87c6a32b45b91d1c6e12c597916a20d5c254d137a7f8d9bb6cfe473ca674",
|
||||
"bytes": 39424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.dll",
|
||||
"sha256": "84723c305417dd10440345acefb50c33f47d55b34543584abf7d9235ad13df86",
|
||||
"bytes": 131584
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Browser.dll",
|
||||
"sha256": "a5c4262f0a0d378d99a89016d6b7fa927632ff5d99bcc5de52a1ceb359ad2d5c",
|
||||
"bytes": 48128
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Contracts.dll",
|
||||
"sha256": "f4328140545f1c8e2226865ceac9d309b8f55bbee0ed5e9713836f16bc0aff63",
|
||||
"bytes": 139776
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Transport.dll",
|
||||
"sha256": "b592a854bb997781a1f1d316a615f629cb3fb08dad683f2fdbff2867210cc43b",
|
||||
"bytes": 12800
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.dll",
|
||||
"sha256": "4d63899c81316a0d9f856b59759e97dd9b52d53b00ae5fd57a2cdfc916fc73ea",
|
||||
"bytes": 195072
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Browser.dll",
|
||||
"sha256": "a21d73fbd9dfd60ebf4ac56a961e172473f54e55727dc1ad856991c9e1ba756c",
|
||||
"bytes": 36352
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll",
|
||||
"sha256": "2e45346638a6814dc6af3f8c99ea448bd2538267baf645453e818fe702265157",
|
||||
"bytes": 20480
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll",
|
||||
"sha256": "a9052366f2c27e485bf9a1d6c3150459f54aa1c510b63d01d99a9270ff95f3bc",
|
||||
"bytes": 19968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.dll",
|
||||
"sha256": "3bbe213152adee004934b4fbb612957b6891461f69c20e55459b5a03660a2915",
|
||||
"bytes": 147968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.S7.Contracts.dll",
|
||||
"sha256": "0610e0f7ba83fb3c3768e4909fb1d2fa0d698608c58606b31235b782813b65ca",
|
||||
"bytes": 29696
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.S7.dll",
|
||||
"sha256": "f1300ad64b7ddfde76078e9f174a10875a6e7f6a5bdf5d20ae3cdf1c94aecee9",
|
||||
"bytes": 124928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.dll",
|
||||
"sha256": "0965780c6b2c8f14884e98e1e8f89d7d54d3d74473987cf63f5b97f98b147fef",
|
||||
"bytes": 43008
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.dll",
|
||||
"sha256": "b705643ccd5e85e11bd585d8258c9d4bb78268bd5664ec20a7310cd92a955751",
|
||||
"bytes": 38912
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.dll",
|
||||
"sha256": "3ba6f0217710d3c69b1cd7baaaa99a1b43fae3b0d27da66efba6f0c58475fd91",
|
||||
"bytes": 40448
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.dll",
|
||||
"sha256": "17b472fe49541f794dccdc2490cda075fc746a515195dd5cee9b1250ef7e702c",
|
||||
"bytes": 144384
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Contracts.dll",
|
||||
"sha256": "6b0ea052040c218b70cf2d31c437be7dc474ce6e000395259a9ce4055fd1ce0f",
|
||||
"bytes": 17408
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.dll",
|
||||
"sha256": "ecdb122f3800af6ebb07421f0987e9e1561645a10bd05c86000974ce6c898060",
|
||||
"bytes": 188928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.OpcUaServer.dll",
|
||||
"sha256": "40a65a2124fb917d6c5fe38e648ff3c5db9fb96672fd9ff1233992bd5cc17abc",
|
||||
"bytes": 420864
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Runtime.dll",
|
||||
"sha256": "a66420c048d83ad43f923fb3b97a07078df570d56a1bb5b2ce8406d6f9cbb4a0",
|
||||
"bytes": 539648
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Security.dll",
|
||||
"sha256": "daf52ae4d37a05f00819d837456d1db8191cd721794a12363a4424af46f0801e",
|
||||
"bytes": 52736
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli/Opc.Ua.Client.dll",
|
||||
"sha256": "620da406fabdbc75d11f9827ea7e39d2d3c762471bd2264b0d11f1d6cd9247cd",
|
||||
"bytes": 2442880
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli/Opc.Ua.Configuration.dll",
|
||||
"sha256": "6ed6a594c93c3ff35d1a16539a9fe87c1e2640549cc2f48ed6bae333dc8bf0e7",
|
||||
"bytes": 117376
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli/Opc.Ua.Core.Schema.dll",
|
||||
"sha256": "51cfad48657d95d38074bb88be29aea6f5b361a07397247d58838d066b99772e",
|
||||
"bytes": 135168
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli/Opc.Ua.Core.Types.dll",
|
||||
"sha256": "a7dd141b8dabe8848ff28c2fb8e16a85a0508e6a49e6b1a1c1e267175b99af96",
|
||||
"bytes": 12703872
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli/Opc.Ua.Core.dll",
|
||||
"sha256": "9d0857aa6b7f3c49037d4ea557b4da8edf07e146069464481783e66c5c9cd35a",
|
||||
"bytes": 2549376
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli/Opc.Ua.Security.Certificates.dll",
|
||||
"sha256": "7f4969aceb2f0db5328c6882cb4b117342f3b18905c38acdba600683860c4fd0",
|
||||
"bytes": 118400
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli/Opc.Ua.Types.dll",
|
||||
"sha256": "c542f69882f4e8a4ebd5ccc28a3881d6967c7ffb6dcc3c56dc6c776f39c2ede1",
|
||||
"bytes": 1792640
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.CLI.deps.json",
|
||||
"sha256": "e1a36de862f9d940bfb55e09db02461bc20f2bd12dad30c8a8bca81ac38be40a",
|
||||
"bytes": 37379
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.CLI.dll",
|
||||
"sha256": "bf1029417276643c6e7b632b882d3fc87c611e52f9e2fdd428e94d2e11f0513e",
|
||||
"bytes": 92160
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.CLI.runtimeconfig.json",
|
||||
"sha256": "9950d4583cfc9a106857c0d5b8a75b53e8774852b57b80bc3823a74d44a4d87f",
|
||||
"bytes": 330
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.Shared.dll",
|
||||
"sha256": "49729f0e97e752a65fa2f8debb4ea5505a7ccdfe9ca1321ae6bf8ce5323a7049",
|
||||
"bytes": 120320
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs",
|
||||
"sha256": "724bca278fadcb44d086888415df7608acc9be56443682d4d5a08377f1aaccef",
|
||||
"bytes": 30352
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/scripts/validation/opcua-sdk-compatibility/container-leg.sh",
|
||||
"sha256": "1f5d1158572379b8a6304c3a3134a78c112043940f5bce468621677f7da3ef9e",
|
||||
"bytes": 2589
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/scripts/validation/opcua-sdk-compatibility/run.py",
|
||||
"sha256": "b94c880c0828b3bf9b330e142077dd5ef256cf6a27b037fd48a44361975fe5b6",
|
||||
"bytes": 12587
|
||||
}
|
||||
]
|
||||
-202
@@ -1,202 +0,0 @@
|
||||
[
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"build",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/ProcessHost.csproj",
|
||||
"-c",
|
||||
"Release",
|
||||
"-m:1",
|
||||
"--nologo"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/build.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"build",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/ProcessHost.csproj",
|
||||
"-c",
|
||||
"Release",
|
||||
"-m:1",
|
||||
"--nologo"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/build.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"publish",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/src/Client/ZB.MOM.WW.OtOpcUa.Client.CLI/ZB.MOM.WW.OtOpcUa.Client.CLI.csproj",
|
||||
"-c",
|
||||
"Release",
|
||||
"-o",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli",
|
||||
"-m:1",
|
||||
"--nologo"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli-build.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"prepare",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/baseline-client-to-baseline-server/shared"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/baseline-client-to-baseline-server/prepare.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"server",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/baseline-client-to-baseline-server/server"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/baseline-client-to-baseline-server/server.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"client",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/baseline-client-to-baseline-server/shared",
|
||||
"opc.tcp://127.0.0.1:55610/OtOpcUa"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/baseline-client-to-baseline-server/shared.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"prepare",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/baseline-client-to-candidate-server/shared"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/baseline-client-to-candidate-server/prepare.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"server",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/baseline-client-to-candidate-server/server"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/baseline-client-to-candidate-server/server.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"client",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/baseline-client-to-candidate-server/shared",
|
||||
"opc.tcp://127.0.0.1:55642/OtOpcUa"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/baseline-client-to-candidate-server/shared.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"prepare",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-client-to-baseline-server/shared"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-client-to-baseline-server/prepare.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"server",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-client-to-baseline-server/server"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-client-to-baseline-server/server.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"client",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-client-to-baseline-server/shared",
|
||||
"opc.tcp://127.0.0.1:55671/OtOpcUa"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-client-to-baseline-server/shared.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"prepare",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-client-to-candidate-server/shared"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-client-to-candidate-server/prepare.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"server",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-client-to-candidate-server/server"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-client-to-candidate-server/server.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"client",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-client-to-candidate-server/shared",
|
||||
"opc.tcp://127.0.0.1:55697/OtOpcUa"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-client-to-candidate-server/shared.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"docker",
|
||||
"run",
|
||||
"--rm",
|
||||
"--name",
|
||||
"otopcua-sdk2-matrix-222d08944aba",
|
||||
"--network",
|
||||
"none",
|
||||
"-e",
|
||||
"OPCUA_MATRIX_PASSWORD",
|
||||
"-v",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0:/candidate:ro",
|
||||
"-v",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-baseline/bin/Release/net10.0:/server:ro",
|
||||
"-v",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli:/cli:ro",
|
||||
"-v",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-driver-cli-to-baseline-server:/task",
|
||||
"mcr.microsoft.com/dotnet/sdk:10.0.103-noble",
|
||||
"bash",
|
||||
"/task/run.sh"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-driver-cli-to-baseline-server/container.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"docker",
|
||||
"run",
|
||||
"--rm",
|
||||
"--name",
|
||||
"otopcua-sdk2-matrix-00f1df5c1613",
|
||||
"--network",
|
||||
"none",
|
||||
"-e",
|
||||
"OPCUA_MATRIX_PASSWORD",
|
||||
"-v",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0:/candidate:ro",
|
||||
"-v",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/build-candidate/bin/Release/net10.0:/server:ro",
|
||||
"-v",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-cli:/cli:ro",
|
||||
"-v",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-driver-cli-to-candidate-server:/task",
|
||||
"mcr.microsoft.com/dotnet/sdk:10.0.103-noble",
|
||||
"bash",
|
||||
"/task/run.sh"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10/candidate-driver-cli-to-candidate-server/container.log"
|
||||
}
|
||||
]
|
||||
-1828
File diff suppressed because it is too large
Load Diff
-17
@@ -1,17 +0,0 @@
|
||||
{"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}
|
||||
-1
@@ -1 +0,0 @@
|
||||
{"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"}
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"WorkingSet64": 231833600,
|
||||
"PrivateMemorySize64": 0,
|
||||
"HandleCount": 0,
|
||||
"threads": 31,
|
||||
"cpuMilliseconds": 1531.714,
|
||||
"allocatedBytes": 156774688,
|
||||
"collections": [
|
||||
20,
|
||||
8,
|
||||
2
|
||||
]
|
||||
}
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
{"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}
|
||||
-1
@@ -1 +0,0 @@
|
||||
{"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"}
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"WorkingSet64": 201850880,
|
||||
"PrivateMemorySize64": 0,
|
||||
"HandleCount": 0,
|
||||
"threads": 31,
|
||||
"cpuMilliseconds": 2559.57,
|
||||
"allocatedBytes": 47810656,
|
||||
"collections": [
|
||||
5,
|
||||
1,
|
||||
0
|
||||
]
|
||||
}
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
{"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}
|
||||
-1
@@ -1 +0,0 @@
|
||||
{"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"}
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"WorkingSet64": 229752832,
|
||||
"PrivateMemorySize64": 0,
|
||||
"HandleCount": 0,
|
||||
"threads": 30,
|
||||
"cpuMilliseconds": 1699.059,
|
||||
"allocatedBytes": 157134200,
|
||||
"collections": [
|
||||
20,
|
||||
8,
|
||||
2
|
||||
]
|
||||
}
|
||||
-17
@@ -1,17 +0,0 @@
|
||||
{"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}
|
||||
-1
@@ -1 +0,0 @@
|
||||
{"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"}
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"WorkingSet64": 201097216,
|
||||
"PrivateMemorySize64": 0,
|
||||
"HandleCount": 0,
|
||||
"threads": 30,
|
||||
"cpuMilliseconds": 2626.114,
|
||||
"allocatedBytes": 47846920,
|
||||
"collections": [
|
||||
5,
|
||||
1,
|
||||
0
|
||||
]
|
||||
}
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
Event history for ns=2;s=Matrix/dev (2026-10-01 00:00 -> 2026-10-01 00:01)
|
||||
|
||||
EventId | Message
|
||||
653030 | matrix-history
|
||||
653031 | matrix-history
|
||||
653032 | matrix-history
|
||||
653033 | matrix-history
|
||||
653034 | matrix-history
|
||||
653035 | matrix-history
|
||||
653036 | matrix-history
|
||||
653037 | matrix-history
|
||||
653038 | matrix-history
|
||||
653039 | matrix-history
|
||||
653130 | matrix-history
|
||||
653131 | matrix-history
|
||||
653132 | matrix-history
|
||||
653133 | matrix-history
|
||||
653134 | matrix-history
|
||||
653135 | matrix-history
|
||||
653136 | matrix-history
|
||||
653137 | matrix-history
|
||||
653138 | matrix-history
|
||||
653139 | matrix-history
|
||||
653230 | matrix-history
|
||||
653231 | matrix-history
|
||||
653232 | matrix-history
|
||||
653233 | matrix-history
|
||||
653234 | matrix-history
|
||||
|
||||
25 events returned.
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
History for ns=2;s=Matrix/dev/Scalar (2026-10-01 00:00 -> 2026-10-01 00:01)
|
||||
|
||||
Timestamp Value Status
|
||||
2026-10-01T00:00:00.0000000Z 0 Good
|
||||
2026-10-01T00:00:01.0000000Z 1 Good
|
||||
2026-10-01T00:00:02.0000000Z 2 Good
|
||||
2026-10-01T00:00:03.0000000Z 3 Good
|
||||
2026-10-01T00:00:04.0000000Z 4 Good
|
||||
2026-10-01T00:00:05.0000000Z 5 Good
|
||||
2026-10-01T00:00:06.0000000Z 6 Good
|
||||
2026-10-01T00:00:07.0000000Z 7 Good
|
||||
2026-10-01T00:00:08.0000000Z 8 Good
|
||||
2026-10-01T00:00:09.0000000Z 9 Good
|
||||
2026-10-01T00:00:10.0000000Z 10 Good
|
||||
2026-10-01T00:00:11.0000000Z 11 Good
|
||||
2026-10-01T00:00:12.0000000Z 12 Good
|
||||
2026-10-01T00:00:13.0000000Z 13 Good
|
||||
2026-10-01T00:00:14.0000000Z 14 Good
|
||||
2026-10-01T00:00:15.0000000Z 15 Good
|
||||
2026-10-01T00:00:16.0000000Z 16 Good
|
||||
2026-10-01T00:00:17.0000000Z 17 Good
|
||||
2026-10-01T00:00:18.0000000Z 18 Good
|
||||
2026-10-01T00:00:19.0000000Z 19 Good
|
||||
2026-10-01T00:00:20.0000000Z 20 Good
|
||||
2026-10-01T00:00:21.0000000Z 21 Good
|
||||
2026-10-01T00:00:22.0000000Z 22 Good
|
||||
2026-10-01T00:00:23.0000000Z 23 Good
|
||||
2026-10-01T00:00:24.0000000Z 24 Good
|
||||
|
||||
25 values returned.
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
Node: ns=2;s=Matrix/dev/Scalar
|
||||
Value: 92
|
||||
Status: Good [0x00000000]
|
||||
Source Time: 11/10/2026 17:19:14
|
||||
Server Time: 11/10/2026 17:19:14
|
||||
-9
@@ -1,9 +0,0 @@
|
||||
{"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}
|
||||
-1
@@ -1 +0,0 @@
|
||||
{"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"}
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"WorkingSet64": 194039808,
|
||||
"PrivateMemorySize64": 266993664,
|
||||
"HandleCount": 141,
|
||||
"threads": 19,
|
||||
"cpuMilliseconds": 1705.768,
|
||||
"allocatedBytes": 149139552,
|
||||
"collections": [
|
||||
5,
|
||||
4,
|
||||
1
|
||||
]
|
||||
}
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
Event history for ns=2;s=Matrix/dev (2026-10-01 00:00 -> 2026-10-01 00:01)
|
||||
|
||||
EventId | Message
|
||||
653030 | matrix-history
|
||||
653031 | matrix-history
|
||||
653032 | matrix-history
|
||||
653033 | matrix-history
|
||||
653034 | matrix-history
|
||||
653035 | matrix-history
|
||||
653036 | matrix-history
|
||||
653037 | matrix-history
|
||||
653038 | matrix-history
|
||||
653039 | matrix-history
|
||||
653130 | matrix-history
|
||||
653131 | matrix-history
|
||||
653132 | matrix-history
|
||||
653133 | matrix-history
|
||||
653134 | matrix-history
|
||||
653135 | matrix-history
|
||||
653136 | matrix-history
|
||||
653137 | matrix-history
|
||||
653138 | matrix-history
|
||||
653139 | matrix-history
|
||||
653230 | matrix-history
|
||||
653231 | matrix-history
|
||||
653232 | matrix-history
|
||||
653233 | matrix-history
|
||||
653234 | matrix-history
|
||||
|
||||
25 events returned.
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
History for ns=2;s=Matrix/dev/Scalar (2026-10-01 00:00 -> 2026-10-01 00:01)
|
||||
|
||||
Timestamp Value Status
|
||||
2026-10-01T00:00:00.0000000Z 0 Good
|
||||
2026-10-01T00:00:01.0000000Z 1 Good
|
||||
2026-10-01T00:00:02.0000000Z 2 Good
|
||||
2026-10-01T00:00:03.0000000Z 3 Good
|
||||
2026-10-01T00:00:04.0000000Z 4 Good
|
||||
2026-10-01T00:00:05.0000000Z 5 Good
|
||||
2026-10-01T00:00:06.0000000Z 6 Good
|
||||
2026-10-01T00:00:07.0000000Z 7 Good
|
||||
2026-10-01T00:00:08.0000000Z 8 Good
|
||||
2026-10-01T00:00:09.0000000Z 9 Good
|
||||
2026-10-01T00:00:10.0000000Z 10 Good
|
||||
2026-10-01T00:00:11.0000000Z 11 Good
|
||||
2026-10-01T00:00:12.0000000Z 12 Good
|
||||
2026-10-01T00:00:13.0000000Z 13 Good
|
||||
2026-10-01T00:00:14.0000000Z 14 Good
|
||||
2026-10-01T00:00:15.0000000Z 15 Good
|
||||
2026-10-01T00:00:16.0000000Z 16 Good
|
||||
2026-10-01T00:00:17.0000000Z 17 Good
|
||||
2026-10-01T00:00:18.0000000Z 18 Good
|
||||
2026-10-01T00:00:19.0000000Z 19 Good
|
||||
2026-10-01T00:00:20.0000000Z 20 Good
|
||||
2026-10-01T00:00:21.0000000Z 21 Good
|
||||
2026-10-01T00:00:22.0000000Z 22 Good
|
||||
2026-10-01T00:00:23.0000000Z 23 Good
|
||||
2026-10-01T00:00:24.0000000Z 24 Good
|
||||
|
||||
25 values returned.
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
Node: ns=2;s=Matrix/dev/Scalar
|
||||
Value: 92
|
||||
Status: Good [0x00000000]
|
||||
Source Time: 11/10/2026 17:19:21
|
||||
Server Time: 11/10/2026 17:19:22
|
||||
-9
@@ -1,9 +0,0 @@
|
||||
{"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}
|
||||
-1
@@ -1 +0,0 @@
|
||||
{"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"}
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"WorkingSet64": 195645440,
|
||||
"PrivateMemorySize64": 288792576,
|
||||
"HandleCount": 153,
|
||||
"threads": 26,
|
||||
"cpuMilliseconds": 2091.525,
|
||||
"allocatedBytes": 42602784,
|
||||
"collections": [
|
||||
1,
|
||||
0,
|
||||
0
|
||||
]
|
||||
}
|
||||
-757
@@ -1,757 +0,0 @@
|
||||
[
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/Opc.Ua.Client.dll",
|
||||
"sha256": "fd000b186f4bc5dbd9947e876f96c178e8c4259ee3e8717d672a4ac2f4c3a058",
|
||||
"bytes": 852096
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/Opc.Ua.Configuration.dll",
|
||||
"sha256": "30fb5142f13a3b3083c0484bcdedaec2efe2f50e57f10ec6a61257ca5359aa7e",
|
||||
"bytes": 85120
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/Opc.Ua.Core.dll",
|
||||
"sha256": "602e85316943ad7ebae33a23d60a69a6ea50d91250ad0556906b816435daa37c",
|
||||
"bytes": 7945344
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/Opc.Ua.Security.Certificates.dll",
|
||||
"sha256": "a2a05c64348f6f8aa60de0fe27d8e5e22d12e09b1ba6172ca34b3773620e394c",
|
||||
"bytes": 79488
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/Opc.Ua.Types.dll",
|
||||
"sha256": "c5c5e36cf6381444b408fe1b51726b17deca74173764cd62ccee954b3c8c2718",
|
||||
"bytes": 1127552
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/ZB.MOM.WW.OtOpcUa.Client.CLI.deps.json",
|
||||
"sha256": "8756470c547137f40ef9962dfa6f40c6dc2a1801cd397524dce7127fb79b70b9",
|
||||
"bytes": 12175
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/ZB.MOM.WW.OtOpcUa.Client.CLI.dll",
|
||||
"sha256": "38ff27df4c1389d2cf97a7ec1fe206733f02c3664b29c4fe18586ede225a53ca",
|
||||
"bytes": 91648
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/client/ZB.MOM.WW.OtOpcUa.Client.Shared.dll",
|
||||
"sha256": "326e14df7bf2a7602637fbff36988c3dd4be38de936da24a1b4287c0ab685be6",
|
||||
"bytes": 111616
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/Opc.Ua.Client.dll",
|
||||
"sha256": "fd000b186f4bc5dbd9947e876f96c178e8c4259ee3e8717d672a4ac2f4c3a058",
|
||||
"bytes": 852096
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/Opc.Ua.Configuration.dll",
|
||||
"sha256": "30fb5142f13a3b3083c0484bcdedaec2efe2f50e57f10ec6a61257ca5359aa7e",
|
||||
"bytes": 85120
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/Opc.Ua.Core.dll",
|
||||
"sha256": "602e85316943ad7ebae33a23d60a69a6ea50d91250ad0556906b816435daa37c",
|
||||
"bytes": 7945344
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/Opc.Ua.Security.Certificates.dll",
|
||||
"sha256": "a2a05c64348f6f8aa60de0fe27d8e5e22d12e09b1ba6172ca34b3773620e394c",
|
||||
"bytes": 79488
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/Opc.Ua.Server.dll",
|
||||
"sha256": "d8d9706dea577858325730cd89896826ed82f7bfcf9503ccd0260311663a69f4",
|
||||
"bytes": 642176
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/Opc.Ua.Types.dll",
|
||||
"sha256": "c5c5e36cf6381444b408fe1b51726b17deca74173764cd62ccee954b3c8c2718",
|
||||
"bytes": 1127552
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/OtOpcUa.Host.deps.json",
|
||||
"sha256": "f47fb25d83e40a5c1d96c063f1d63b02a04c222a10554220df58cac896654ea9",
|
||||
"bytes": 153279
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.AdminUI.dll",
|
||||
"sha256": "1ae11959c22bc53a648b91c6c1ae41e4a5d717e396bd645eae4fb08dc1633597",
|
||||
"bytes": 2152448
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Cluster.dll",
|
||||
"sha256": "d6bc21641172d832004b62b8bb76aeb40622a943be2172f394e5c6333c04ef57",
|
||||
"bytes": 67584
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Commons.dll",
|
||||
"sha256": "be97a0b975afde7ec4ebf0b10de53c26f212ceca1f6a3ae090e40ebfde304413",
|
||||
"bytes": 231424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Configuration.dll",
|
||||
"sha256": "195dab9f7a9f80c45902e653ff361116a307d8110a3f87baad814bea57689b84",
|
||||
"bytes": 542720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.ControlPlane.dll",
|
||||
"sha256": "36954f51b09930df414675e5a0c038933ad2b27cd6560bf797d99801c02b30a1",
|
||||
"bytes": 179200
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll",
|
||||
"sha256": "b0f4e332ced57eae3ab1dcc282c073f51ea0c545a381aef50479ee58f0c23efc",
|
||||
"bytes": 124416
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.dll",
|
||||
"sha256": "a61a6ea68236dd4ed86ab4e74e4d632c5e260103aa5ebd92f4f995eb9f170b22",
|
||||
"bytes": 56320
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.dll",
|
||||
"sha256": "f1e429c0b8fcab8216b9107440008b92eea1236ff1225e79580ad70f51d56431",
|
||||
"bytes": 83968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.dll",
|
||||
"sha256": "ea24898698c8351bc9cf20fcce725dccc93ccf05ef3af7783f73854cc2033c31",
|
||||
"bytes": 13312
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.dll",
|
||||
"sha256": "cf44009a720a00bf9192374d371c7c76e75afbe62cc216b5c1be913b92679127",
|
||||
"bytes": 135168
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.dll",
|
||||
"sha256": "07800332d0842b93c3987fca1dc10a1390bcb16f44567610d867513ad9fe17e0",
|
||||
"bytes": 117248
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.Scripting.dll",
|
||||
"sha256": "9637b7ffb4984f54bc54363ff2d81b6a3401f0cb7eeed8694db626ef41d54d5b",
|
||||
"bytes": 121856
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.VirtualTags.dll",
|
||||
"sha256": "107aaf2ef2d7704e320dabc1072bc50217faabb2d1488e66c91b1f756b440c45",
|
||||
"bytes": 11264
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Core.dll",
|
||||
"sha256": "34a4d7c0dddf4efa5fae91a3798c2f1c08b992faf4a827a9e05ed1338c6e4720",
|
||||
"bytes": 124928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.dll",
|
||||
"sha256": "315dcc540d304c9f1d5b48caa25e5f081569f1a41aa8784cf371c1d6cef7322d",
|
||||
"bytes": 123392
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Contracts.dll",
|
||||
"sha256": "d7b34798587d0939cc78eb69d9df1d617c1c75a61b8dd11a5308958a43a8c4f1",
|
||||
"bytes": 24576
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.AbCip.dll",
|
||||
"sha256": "73073627fcdc8079df645478d6717576975117c3b21cfa7e9422f1e3bc5f4e44",
|
||||
"bytes": 214016
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Contracts.dll",
|
||||
"sha256": "5c66d76dd455c42f0c5b0aed11240fa31e1bdbd2f0a8368d8f41976977e93502",
|
||||
"bytes": 30720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.dll",
|
||||
"sha256": "cbf92a935d86596a9d4dbeeaa625e304c2045851a0367c3a6b0de03bf78bd6fa",
|
||||
"bytes": 136704
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.dll",
|
||||
"sha256": "29c079414497b30debe8d3ecd7e77bdc4eb16c4fc076e675680a2e880e54b6c2",
|
||||
"bytes": 10240
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Calculation.dll",
|
||||
"sha256": "132e36042a4691cc8e252ab9e9d8c90592fcd897959f533aa37e33f193cf00c8",
|
||||
"bytes": 57344
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Contracts.dll",
|
||||
"sha256": "2bdbf743194193d5a7bc323912e2c7f740cc21633154a4a3cc8e034fd15bb7e8",
|
||||
"bytes": 38912
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.dll",
|
||||
"sha256": "17c28f27fdecd09a46b971b19655bdb933f84990e91bb80c7092c344a0ca974f",
|
||||
"bytes": 300032
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Browser.dll",
|
||||
"sha256": "f2796d323c222708c28cd0a4289c46db31ec3b6537da7f5cd260fc76f8abdc76",
|
||||
"bytes": 19456
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Contracts.dll",
|
||||
"sha256": "780a11f69194713e2f87e74277e99882ee3518b2824551b45cd04e3b9bdf6648",
|
||||
"bytes": 24576
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.dll",
|
||||
"sha256": "a8e19baa5a736544d914f942d526a5cc038f6b982451bfa82a77365a159434e4",
|
||||
"bytes": 224768
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.dll",
|
||||
"sha256": "400b1896e55d08781231efeba302596299df2b00b2f48afd43d46c22d59b515c",
|
||||
"bytes": 129536
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.dll",
|
||||
"sha256": "8e91a8cce804023639a4bdb2dc60f9fc950992882e50786d45ceeb0f38ed1f68",
|
||||
"bytes": 167424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.dll",
|
||||
"sha256": "2746b8e9c03b5b8c330152803eee91cf2069f0e6c074d70d03017b1f1f1a2398",
|
||||
"bytes": 51712
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.dll",
|
||||
"sha256": "94b9bcd4506427a44158e0b299a5ae7bcee14fd40b85cc9f63420e4631aa1a6f",
|
||||
"bytes": 143872
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.Contracts.dll",
|
||||
"sha256": "6582151085ddea7d319b990c2c58057b6ba5a49860593229b3642dff527ae204",
|
||||
"bytes": 19456
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.dll",
|
||||
"sha256": "c9670c5d169056563294673839ca63321a72a438c519263be708b55f3fc818f9",
|
||||
"bytes": 214016
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.dll",
|
||||
"sha256": "ed07d04709372ef804f465995431b15acdef791f66c8130ab7282372728f7cda",
|
||||
"bytes": 25088
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Contracts.dll",
|
||||
"sha256": "724873ac2f6c08f307a150c5575cc3c022d7e367124ed924c0c7899b0e9575a5",
|
||||
"bytes": 39424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Modbus.dll",
|
||||
"sha256": "db1e3e7c79dc1a46e1d4ffaa5ea1aac9ed73814d7f06cbfa855ebb3b27a8810d",
|
||||
"bytes": 131584
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Browser.dll",
|
||||
"sha256": "ace18db746c30307e67efa3acd68e915cc2b62b0a85bdba833df4ea7c85b5f6c",
|
||||
"bytes": 48128
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Contracts.dll",
|
||||
"sha256": "24e795bd8027d7b3ca3d95630b73be6d7cef774243357b01850f145b6066dcb9",
|
||||
"bytes": 139776
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Transport.dll",
|
||||
"sha256": "bec0cecc0bbb06b4715d7b909ccf4d357420e120b2bff3c10ee9f59f71044927",
|
||||
"bytes": 12800
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.dll",
|
||||
"sha256": "da64eacb80ddca9cd0a40295bba2c8ff81ee9c68ccaf32cbd329ae854375deb7",
|
||||
"bytes": 195072
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Browser.dll",
|
||||
"sha256": "7e2ac501136d24a3d0ad6bdae2e4a47460439ad8ab78af538bbccca2e38e5695",
|
||||
"bytes": 35840
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll",
|
||||
"sha256": "c15e6db37681cbbef8684d5301e1bba54186ae503aaf55d1c2d06a0567ab28fe",
|
||||
"bytes": 20480
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll",
|
||||
"sha256": "910604abd4daa6196c8fdcd2db085873ee5a4c27b5a67c359590071117c6e4dd",
|
||||
"bytes": 16384
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.dll",
|
||||
"sha256": "cd689b0ec777820d91f914abfd9e4a921143a46df84ee43d0214c66f74225ac0",
|
||||
"bytes": 144384
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.S7.Contracts.dll",
|
||||
"sha256": "6fe895674318dc42c0c3cc74266831862d3fe2f13098c26e7d826baf79d7fc47",
|
||||
"bytes": 29696
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.S7.dll",
|
||||
"sha256": "d23a7ac62d781f0c14dd7c9d4f51b712c13599ee78b9b6d302d30dfd5e77da37",
|
||||
"bytes": 124928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.dll",
|
||||
"sha256": "c341d49bf100e0617d9c4e7d24f63d8affd1bc0fe2edce15e51cc14366fa2207",
|
||||
"bytes": 43008
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.dll",
|
||||
"sha256": "f0a0cc852116f739247422a0427550e52c938b27d1a8b4e685f45a19a23635ab",
|
||||
"bytes": 38912
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.dll",
|
||||
"sha256": "7d78655da50c07ac049cd687c59f2a7b6eb2c491543bd4089ffbe60fb805205f",
|
||||
"bytes": 40448
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.Sql.dll",
|
||||
"sha256": "6ec1a9bc7443c1d7b8084ee2fc5e67cbfd2a8d61add303a980cef78a46cb5c67",
|
||||
"bytes": 144384
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Contracts.dll",
|
||||
"sha256": "96db9e5d162b19914cf0ba55c1408c1c9271c80c1a1a12604e684f5785de4b96",
|
||||
"bytes": 17408
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.dll",
|
||||
"sha256": "c24cfc897bde6c0eb65b9958bad952814ed02a27fe25a55c416c1ba61be2c261",
|
||||
"bytes": 188928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.OpcUaServer.dll",
|
||||
"sha256": "ee1f704fa1574b77bf56cef415c47c33a4428c6852db52bb1443d6765d092cb1",
|
||||
"bytes": 363008
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Runtime.dll",
|
||||
"sha256": "50e752383ae81ef6bb23e360fafe9162be0d1dcb7dd2d8731f16bce762834dd4",
|
||||
"bytes": 539648
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua-sdk-2-upgrade/OtOpcUa/artifacts/opcua2/83ed880e/baseline/host/ZB.MOM.WW.OtOpcUa.Security.dll",
|
||||
"sha256": "a88b1577d1e4dd580e012e7673e31d5363c3d9a79fb415bef4c3d63849678a4d",
|
||||
"bytes": 52736
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-baseline-oracle/OtOpcUa/Directory.Packages.props",
|
||||
"sha256": "7e6459447843b93bc94fbc1f3eeb1c695b5c46c08aeb94debe86a7d419c63221",
|
||||
"bytes": 18829
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/Directory.Packages.props",
|
||||
"sha256": "31a4cac1c205f5b9e67119357c77751b8ab999f6c5f350da68784614040c8a93",
|
||||
"bytes": 19000
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"sha256": "13de622509608b80bc7dce3317e030bfea8d1b597ff8abd7b57f026c17a9ede0",
|
||||
"bytes": 83968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll",
|
||||
"sha256": "620da406fabdbc75d11f9827ea7e39d2d3c762471bd2264b0d11f1d6cd9247cd",
|
||||
"bytes": 2442880
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll",
|
||||
"sha256": "6ed6a594c93c3ff35d1a16539a9fe87c1e2640549cc2f48ed6bae333dc8bf0e7",
|
||||
"bytes": 117376
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Schema.dll",
|
||||
"sha256": "51cfad48657d95d38074bb88be29aea6f5b361a07397247d58838d066b99772e",
|
||||
"bytes": 135168
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Types.dll",
|
||||
"sha256": "a7dd141b8dabe8848ff28c2fb8e16a85a0508e6a49e6b1a1c1e267175b99af96",
|
||||
"bytes": 12703872
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll",
|
||||
"sha256": "9d0857aa6b7f3c49037d4ea557b4da8edf07e146069464481783e66c5c9cd35a",
|
||||
"bytes": 2549376
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll",
|
||||
"sha256": "7f4969aceb2f0db5328c6882cb4b117342f3b18905c38acdba600683860c4fd0",
|
||||
"bytes": 118400
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Server.dll",
|
||||
"sha256": "930e714a2f6e15d393840bcdc95e1afa8012bc740c3738a655f958142721864e",
|
||||
"bytes": 3332224
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll",
|
||||
"sha256": "c542f69882f4e8a4ebd5ccc28a3881d6967c7ffb6dcc3c56dc6c776f39c2ede1",
|
||||
"bytes": 1792640
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/OtOpcUa.Host.deps.json",
|
||||
"sha256": "c289766446d61a6bf15574fdde982a8c44b6faaabb38ad718522f63987a58d69",
|
||||
"bytes": 179492
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ProcessHost.deps.json",
|
||||
"sha256": "cb76c2da9266dd11b61483fc9425d8a7ed3e25c83b1179ef60bfbd559b7db77c",
|
||||
"bytes": 165039
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"sha256": "0db8dd8308811ceecd6f6ac468dbf0e5daacf021904cbf741e96a23daf25cfe7",
|
||||
"bytes": 83968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.AdminUI.dll",
|
||||
"sha256": "30a400d0e69bd7a1527e30865cc4fce183bf1fd4b96bea50e7cdde93140b4f03",
|
||||
"bytes": 2152448
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Client.Shared.dll",
|
||||
"sha256": "0856bbccac7c59faf95568e67e25af35b9a68c44ffd0eb5d1891869a454a3de0",
|
||||
"bytes": 120320
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Cluster.dll",
|
||||
"sha256": "e875e13fe1261963984ac82f7a41da5f83caff28108edaad253641bfe3a7effc",
|
||||
"bytes": 67584
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Commons.dll",
|
||||
"sha256": "2d1d97faebfbad03db642b77553110210890de51834e5f4b6965f079f7d044a0",
|
||||
"bytes": 231424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Configuration.dll",
|
||||
"sha256": "afdb724e0bd460f6deeaedb23e78ff5010f12630c3bd8e2986733ee523b9e30c",
|
||||
"bytes": 542720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.ControlPlane.dll",
|
||||
"sha256": "66c93e8d8457f6d842963294c36f5da4261124a4c9ddf486bca09c4c31b39c06",
|
||||
"bytes": 179200
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll",
|
||||
"sha256": "46d4b41bed7f4a6497d401d7925d1bd4d87a2422e0c2835dc06e006c97142150",
|
||||
"bytes": 124416
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.dll",
|
||||
"sha256": "bba5e5c363e910678700630e18e6db0d3f9151665e0e1aa2bab6917e83b0ecbf",
|
||||
"bytes": 56320
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.dll",
|
||||
"sha256": "474cd76eab3f2724f73f2cc5024370523e294e012f5ecd884dcff366ceac342e",
|
||||
"bytes": 83968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.dll",
|
||||
"sha256": "548b2d19b7bc761fedaf42d39045313394e32a0ccf3ad8bd182e3d31762bd7e4",
|
||||
"bytes": 13312
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.dll",
|
||||
"sha256": "a1441bac81dd7ac01794a927315bb530d022964be535e543afc3e514df4dd9a3",
|
||||
"bytes": 135168
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.dll",
|
||||
"sha256": "18e6dbfec8c646e463a8e268137aa1e266063e91d366a029bee4c810f39b7542",
|
||||
"bytes": 117248
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.dll",
|
||||
"sha256": "13236c602191c7866f219eb946c135cf2532bc075d2b458914abbc18efef8e43",
|
||||
"bytes": 121856
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.VirtualTags.dll",
|
||||
"sha256": "6a1a9bdd626985dafd483e317ee9906ece7e03d583b44423cc6a95cb21bfdfaf",
|
||||
"bytes": 11264
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.dll",
|
||||
"sha256": "59fe6b4b8feebd8d9ec3ff2e3f12a3a8624cdaa68988b230ab7a228cdd246d04",
|
||||
"bytes": 124928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.dll",
|
||||
"sha256": "6178401b851ce3155566e432a376ef2ec983497eccf298ec33d38cd6ed631be7",
|
||||
"bytes": 123392
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Contracts.dll",
|
||||
"sha256": "622505ec95e04d7140ea63252b61e01e170947ff88043394e9e7fe2d2ee38e3c",
|
||||
"bytes": 24576
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbCip.dll",
|
||||
"sha256": "da3bcdd35f632e5f183ce7721fea455d6396f64234f22eea64862057737c40b9",
|
||||
"bytes": 214016
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Contracts.dll",
|
||||
"sha256": "8cf0f65f373b410c597cbdba4cce79a73e6388fd13f1f61964f7a78bdc7b67a8",
|
||||
"bytes": 30720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.dll",
|
||||
"sha256": "efa92e068f15126cb5f846e923c72b0c68be9b0158a22da139f4d537f68983f3",
|
||||
"bytes": 136704
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.dll",
|
||||
"sha256": "9b2b094906f46660b9cb5a4a0b53f36d206b4cd88f14837a047c7040ec54f24d",
|
||||
"bytes": 10240
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Calculation.dll",
|
||||
"sha256": "58c27311d05d2bf262404520fd2d11a0d2edcb4a98974b61532bcf72a680b4cf",
|
||||
"bytes": 57344
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Contracts.dll",
|
||||
"sha256": "2358fb9fbcc9475022b190dde05ee6ee712d45c59d041830151a5bcc7418de5f",
|
||||
"bytes": 38912
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.dll",
|
||||
"sha256": "ff87272d5e8dae9f1bc1e560e2cd8d82ee279f220f178300ccf534042b1cf2cf",
|
||||
"bytes": 300032
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Browser.dll",
|
||||
"sha256": "b977d56618bfcfeb71789271cefda7443c278e2da75b04fdae49e51da3474586",
|
||||
"bytes": 19456
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Contracts.dll",
|
||||
"sha256": "52749ea655601805af505e9aa255fb4d7a3563d58df5f86032aff59fc03e1cc8",
|
||||
"bytes": 24576
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.dll",
|
||||
"sha256": "41a8c6ed1fe24a50ad9793d78f0dbacff1cfb0e005c027baf27e6003af99988c",
|
||||
"bytes": 224768
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.dll",
|
||||
"sha256": "d642be7f07b7144bb4ef6d6786e73bc2965a1e3189c68b00e5ed4da522eda8df",
|
||||
"bytes": 129536
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.dll",
|
||||
"sha256": "a8d605f278ef8853fc56693d21948cc79c5f07fcd4cb62983f366cd4dcd507d2",
|
||||
"bytes": 167424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.dll",
|
||||
"sha256": "7e0c5b3e79763ede195f7446216c6ffd7617a66c2ce9b4e1b182b05ce9675f18",
|
||||
"bytes": 51712
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.dll",
|
||||
"sha256": "89c1615dbe0911e014facc4452d2140f4471a01dedd50f02eba48123fd81d11a",
|
||||
"bytes": 143872
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.Contracts.dll",
|
||||
"sha256": "530fdc78903fb7dc6bf635db5f7a61a35feeeee71cca5df32a433cc8a38ab239",
|
||||
"bytes": 19456
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.dll",
|
||||
"sha256": "d87cbf2e84042bd259cc5b6390922a84eb11bb7a11c00d2c4b5dbe00a75a441c",
|
||||
"bytes": 214016
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.dll",
|
||||
"sha256": "17148305ad647f1ecc42911c525bbcee43ed759b751563c92ae2e0f502f5491b",
|
||||
"bytes": 25088
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Contracts.dll",
|
||||
"sha256": "850cc34a53b154615a5966c5ab9719ffe65823b419a40b16dc83734c2c77766e",
|
||||
"bytes": 39424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.dll",
|
||||
"sha256": "912f304a47ea3c2a48b9e3ae1a1f9a29cd9577047049a408ab2f54aceb46dd47",
|
||||
"bytes": 131584
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Browser.dll",
|
||||
"sha256": "0a6ee903bea8bf1d16a7cbe5e52c80096b84c230d0266969d15004bad9b0f0e4",
|
||||
"bytes": 48128
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Contracts.dll",
|
||||
"sha256": "9dbd98038e6fd19f2cf8e28ad081a691ac1df44dcb94597f6ef6f536da9c10f0",
|
||||
"bytes": 139776
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Transport.dll",
|
||||
"sha256": "e133940f52ee7b347dd66bb1eea0bb8a5d936e65aad600888eaea48d67f1555b",
|
||||
"bytes": 12800
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.dll",
|
||||
"sha256": "a171ce43d2f01230d975f5f9bd943fd50a8a8fe39e735935d0a5b1138e31ca1c",
|
||||
"bytes": 195072
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Browser.dll",
|
||||
"sha256": "efb1d122a0aba3c6fd592690143dc99eea608248c0e590a1f264283a040743b2",
|
||||
"bytes": 36352
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll",
|
||||
"sha256": "fda75dcf622ebe33dc82dc40a1a362b5a3a10f782bda169ab255d377223a5895",
|
||||
"bytes": 20480
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll",
|
||||
"sha256": "ff3b3fee2c4f5954033a2cb5e2b0f3b9cccebc656c7d169687701bd52e8eb142",
|
||||
"bytes": 19968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.dll",
|
||||
"sha256": "09ecbd0ecf90b658dc83f6f2cb12211715f2c51350e86d963c112c4469549ab5",
|
||||
"bytes": 147968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.S7.Contracts.dll",
|
||||
"sha256": "c9c170f30592fc5698cb256f0f4705ac6fa5ae51a3da89f19ff7753b51ac44e1",
|
||||
"bytes": 29696
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.S7.dll",
|
||||
"sha256": "29ec762d9ef4cf9f7e011069604c6bc725aac5c995bd8f7fa72a35f09921beef",
|
||||
"bytes": 124928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.dll",
|
||||
"sha256": "78e0f7c4da53feefdc76137e014848b26d46fc33bc29aa79e99c43de918e15f9",
|
||||
"bytes": 43008
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.dll",
|
||||
"sha256": "65c6cd709903aa34be71c62e4c760e0e01a50783497ad644a057ad1a4a179bc4",
|
||||
"bytes": 38912
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.dll",
|
||||
"sha256": "a6a9d82c5895b411ebdb95eb2a3de719e3f65280fa7163e0d573db1cf886935b",
|
||||
"bytes": 40448
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.dll",
|
||||
"sha256": "0beddb7dd322377b2b1ee496ba59c803528668abe9b62c9ac17bfef8f355b112",
|
||||
"bytes": 144384
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Contracts.dll",
|
||||
"sha256": "3e37c0328157641e82a99d3d2096a9ab3d826647039da34231f14dea3af0dc43",
|
||||
"bytes": 17408
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.dll",
|
||||
"sha256": "fc9babb948338b46b965344796a0a00560ae917a19eb6d301f2cf94234a7fac5",
|
||||
"bytes": 188928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.OpcUaServer.dll",
|
||||
"sha256": "8a885d5a86dd00ed5c920e650852cda5820cb9cce05fb49781b7844680d9353f",
|
||||
"bytes": 420864
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Runtime.dll",
|
||||
"sha256": "19111a82fb1582866bf0d019f4daa8a5060536cfa11a5569a7e0aeeffdbecc03",
|
||||
"bytes": 539648
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Security.dll",
|
||||
"sha256": "56f587426e81750fa406686aca50deca2ee8e293ac7969f2a0b606e6acfdfff2",
|
||||
"bytes": 52736
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-cli/Opc.Ua.Client.dll",
|
||||
"sha256": "620da406fabdbc75d11f9827ea7e39d2d3c762471bd2264b0d11f1d6cd9247cd",
|
||||
"bytes": 2442880
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-cli/Opc.Ua.Configuration.dll",
|
||||
"sha256": "6ed6a594c93c3ff35d1a16539a9fe87c1e2640549cc2f48ed6bae333dc8bf0e7",
|
||||
"bytes": 117376
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-cli/Opc.Ua.Core.Schema.dll",
|
||||
"sha256": "51cfad48657d95d38074bb88be29aea6f5b361a07397247d58838d066b99772e",
|
||||
"bytes": 135168
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-cli/Opc.Ua.Core.Types.dll",
|
||||
"sha256": "a7dd141b8dabe8848ff28c2fb8e16a85a0508e6a49e6b1a1c1e267175b99af96",
|
||||
"bytes": 12703872
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-cli/Opc.Ua.Core.dll",
|
||||
"sha256": "9d0857aa6b7f3c49037d4ea557b4da8edf07e146069464481783e66c5c9cd35a",
|
||||
"bytes": 2549376
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-cli/Opc.Ua.Security.Certificates.dll",
|
||||
"sha256": "7f4969aceb2f0db5328c6882cb4b117342f3b18905c38acdba600683860c4fd0",
|
||||
"bytes": 118400
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-cli/Opc.Ua.Types.dll",
|
||||
"sha256": "c542f69882f4e8a4ebd5ccc28a3881d6967c7ffb6dcc3c56dc6c776f39c2ede1",
|
||||
"bytes": 1792640
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.CLI.deps.json",
|
||||
"sha256": "e1a36de862f9d940bfb55e09db02461bc20f2bd12dad30c8a8bca81ac38be40a",
|
||||
"bytes": 37379
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.CLI.dll",
|
||||
"sha256": "4e86b2f64ed5bb37826977c9104dd370d80d11553084e5570d445cecc6b0aaeb",
|
||||
"bytes": 92160
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08/candidate-cli/ZB.MOM.WW.OtOpcUa.Client.Shared.dll",
|
||||
"sha256": "0856bbccac7c59faf95568e67e25af35b9a68c44ffd0eb5d1891869a454a3de0",
|
||||
"bytes": 120320
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/scripts/validation/opcua-sdk-compatibility/ProcessHost.cs",
|
||||
"sha256": "f0a7aca11c38cc8c74c26573458405aa14ed10c81a0a56210dfabf42ead45a83",
|
||||
"bytes": 27089
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/scripts/validation/opcua-sdk-compatibility/container-leg.sh",
|
||||
"sha256": "1f5d1158572379b8a6304c3a3134a78c112043940f5bce468621677f7da3ef9e",
|
||||
"bytes": 2589
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/scripts/validation/opcua-sdk-compatibility/run.py",
|
||||
"sha256": "240d14f71aca358de5107174bbfbef7ddd5b036cd96fe0889e095a8b9698ec6b",
|
||||
"bytes": 12459
|
||||
}
|
||||
]
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"baseline": {
|
||||
"root": "/Users/dohertj2/.codex/worktrees/opcua2-baseline-oracle/OtOpcUa",
|
||||
"commit": "83ed880e4471344deaf008da9bd028c7e170bdc7",
|
||||
"sdkPackages": "/Users/dohertj2/.codex/worktrees/opcua2-baseline-oracle/OtOpcUa/Directory.Packages.props"
|
||||
},
|
||||
"candidate": {
|
||||
"root": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa",
|
||||
"commit": "ebdc5892063502ccd56e136dd9c2acaccf027f20",
|
||||
"sdkPackages": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/Directory.Packages.props"
|
||||
},
|
||||
"scope": "Loopback application contract and 3 warmed 50-operation rounds per scalar/Int32[3] read/write kind; shared development host, no full load/reconnect/failover/backend/soak performance claim.",
|
||||
"dateUtc": "2026-11-10T17:18:22Z"
|
||||
}
|
||||
@@ -1,103 +0,0 @@
|
||||
{
|
||||
"date": "2026-11-10",
|
||||
"harnessCommit": "ebdc5892",
|
||||
"candidateSourceCommit": "ebdc5892",
|
||||
"baselineSourceCommit": "83ed880e",
|
||||
"browseFixOriginalCommit": "fa823378",
|
||||
"browseFixLocalCherryPick": "b104ef9a",
|
||||
"baselineSdkPackage": "1.5.378.182",
|
||||
"candidateSdkPackage": "2.0.1",
|
||||
"functional": {
|
||||
"passed": 62,
|
||||
"failed": 0,
|
||||
"skipped": 0,
|
||||
"legs": [
|
||||
{
|
||||
"name": "baseline-client-to-baseline-server",
|
||||
"passed": 12
|
||||
},
|
||||
{
|
||||
"name": "baseline-client-to-candidate-server",
|
||||
"passed": 12
|
||||
},
|
||||
{
|
||||
"name": "candidate-client-to-baseline-server",
|
||||
"passed": 12
|
||||
},
|
||||
{
|
||||
"name": "candidate-client-to-candidate-server",
|
||||
"passed": 12
|
||||
},
|
||||
{
|
||||
"name": "candidate-driver-cli-to-baseline-server",
|
||||
"passed": 7
|
||||
},
|
||||
{
|
||||
"name": "candidate-driver-cli-to-candidate-server",
|
||||
"passed": 7
|
||||
}
|
||||
],
|
||||
"requiredThreeSharedLegsPlusDriverCliCases": 50,
|
||||
"additionalBaselineReferenceCases": 12
|
||||
},
|
||||
"security": {
|
||||
"policy": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256",
|
||||
"mode": "SignAndEncrypt",
|
||||
"anonymous": false,
|
||||
"aclEnabled": true,
|
||||
"fixtureAuthenticator": "Exact ephemeral API-key-shaped credential; production ACL/write/method gates",
|
||||
"serverSharedDriverAutoaccept": false,
|
||||
"cliAutoaccept": true,
|
||||
"cliLimitationEvidence": "Client.CLI CommandBase.CreateConnectionSettings sets AutoAcceptCertificates=true; no strict-validation option"
|
||||
},
|
||||
"continuationPaging": {
|
||||
"rawSamplesPerSharedLeg": 25,
|
||||
"rawBackendCeiling": 7,
|
||||
"eventSamplesPerSharedLeg": 25,
|
||||
"eventBackendCeiling": 7,
|
||||
"eventTimestampTies": true,
|
||||
"assertions": "Exact raw values and event IDs, no loss/duplicates; production session-bound continuation store"
|
||||
},
|
||||
"preFix": {
|
||||
"passed": 60,
|
||||
"failed": 2,
|
||||
"finding": "Candidate alarm missing from raw parent browse; original->candidate and candidate->candidate failed exact identity checks. SDK2 Create reset ReferenceTypeId to null/default. Original->original and candidate->original controls passed. Fixed by restoring HasComponent after Create; unchanged strict assertions then passed."
|
||||
},
|
||||
"performance": {
|
||||
"status": "diagnostic-within-budget",
|
||||
"warmupOperations": 24000,
|
||||
"measuredOperations": 48000,
|
||||
"totalCalls": 72000,
|
||||
"nativeProcessPairs": 3,
|
||||
"tieredCompilation": "0 for both clients and servers; supplementary experiment only",
|
||||
"budgetPercent": 15,
|
||||
"medianP95ChangesPercent": {
|
||||
"scalar-read": 14.94885916601103,
|
||||
"scalar-write": 1.577761081893314,
|
||||
"array-read": -16.279069767441868,
|
||||
"array-write": -17.23684210526316
|
||||
},
|
||||
"limitation": "Small local subset; scalar-read candidate pair3 p95 .2219 ms remains an outlier, preserved in raw data; no full Gate G4 claim",
|
||||
"allocationMetric": "Average allocated bytes/op across all four operation kinds"
|
||||
},
|
||||
"rawArtifacts": {
|
||||
"functional": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-10",
|
||||
"warmPerformance": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01",
|
||||
"preFix": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-08",
|
||||
"earlyShortPerformance": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-07"
|
||||
},
|
||||
"notCertified": [
|
||||
"Real SQL Server/QuestDB/AVEVA backend matrix",
|
||||
"Full production load/fan-out/reconnect/backpressure performance",
|
||||
"Two-hour soak",
|
||||
"External ScadaBridge consumer",
|
||||
"Mixed-version Akka cluster rolling upgrade"
|
||||
],
|
||||
"capabilityNA": [
|
||||
{
|
||||
"component": "OPC UA driver",
|
||||
"capability": "HistoryRead",
|
||||
"evidence": ".claude/rules/drivers.md #655: driver history capability removed; Client.Shared and CLI perform history"
|
||||
}
|
||||
]
|
||||
}
|
||||
-637
@@ -1,637 +0,0 @@
|
||||
[
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"sha256": "cdb0565a37704509e19fde6eb9a751b7fd770dc92086e7df55da4d9c76712e41",
|
||||
"bytes": 94720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/Opc.Ua.Core.dll",
|
||||
"sha256": "602e85316943ad7ebae33a23d60a69a6ea50d91250ad0556906b816435daa37c",
|
||||
"bytes": 7945344
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/Opc.Ua.Types.dll",
|
||||
"sha256": "c5c5e36cf6381444b408fe1b51726b17deca74173764cd62ccee954b3c8c2718",
|
||||
"bytes": 1127552
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/Opc.Ua.Server.dll",
|
||||
"sha256": "d8d9706dea577858325730cd89896826ed82f7bfcf9503ccd0260311663a69f4",
|
||||
"bytes": 642176
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/Opc.Ua.Client.dll",
|
||||
"sha256": "fd000b186f4bc5dbd9947e876f96c178e8c4259ee3e8717d672a4ac2f4c3a058",
|
||||
"bytes": 852096
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll",
|
||||
"sha256": "a2a05c64348f6f8aa60de0fe27d8e5e22d12e09b1ba6172ca34b3773620e394c",
|
||||
"bytes": 79488
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/Opc.Ua.Configuration.dll",
|
||||
"sha256": "30fb5142f13a3b3083c0484bcdedaec2efe2f50e57f10ec6a61257ca5359aa7e",
|
||||
"bytes": 85120
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.dll",
|
||||
"sha256": "da64eacb80ddca9cd0a40295bba2c8ff81ee9c68ccaf32cbd329ae854375deb7",
|
||||
"bytes": 195072
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll",
|
||||
"sha256": "c15e6db37681cbbef8684d5301e1bba54186ae503aaf55d1c2d06a0567ab28fe",
|
||||
"bytes": 20480
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll",
|
||||
"sha256": "b0f4e332ced57eae3ab1dcc282c073f51ea0c545a381aef50479ee58f0c23efc",
|
||||
"bytes": 124416
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Client.Shared.dll",
|
||||
"sha256": "326e14df7bf2a7602637fbff36988c3dd4be38de936da24a1b4287c0ab685be6",
|
||||
"bytes": 111616
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.dll",
|
||||
"sha256": "a61a6ea68236dd4ed86ab4e74e4d632c5e260103aa5ebd92f4f995eb9f170b22",
|
||||
"bytes": 56320
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.Contracts.dll",
|
||||
"sha256": "6582151085ddea7d319b990c2c58057b6ba5a49860593229b3642dff527ae204",
|
||||
"bytes": 19456
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.dll",
|
||||
"sha256": "c24cfc897bde6c0eb65b9958bad952814ed02a27fe25a55c416c1ba61be2c261",
|
||||
"bytes": 188928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.VirtualTags.dll",
|
||||
"sha256": "107aaf2ef2d7704e320dabc1072bc50217faabb2d1488e66c91b1f756b440c45",
|
||||
"bytes": 11264
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Transport.dll",
|
||||
"sha256": "bec0cecc0bbb06b4715d7b909ccf4d357420e120b2bff3c10ee9f59f71044927",
|
||||
"bytes": 12800
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.AdminUI.dll",
|
||||
"sha256": "1ae11959c22bc53a648b91c6c1ae41e4a5d717e396bd645eae4fb08dc1633597",
|
||||
"bytes": 2152448
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.dll",
|
||||
"sha256": "07800332d0842b93c3987fca1dc10a1390bcb16f44567610d867513ad9fe17e0",
|
||||
"bytes": 117248
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Configuration.dll",
|
||||
"sha256": "195dab9f7a9f80c45902e653ff361116a307d8110a3f87baad814bea57689b84",
|
||||
"bytes": 542720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.dll",
|
||||
"sha256": "94b9bcd4506427a44158e0b299a5ae7bcee14fd40b85cc9f63420e4631aa1a6f",
|
||||
"bytes": 143872
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.dll",
|
||||
"sha256": "9637b7ffb4984f54bc54363ff2d81b6a3401f0cb7eeed8694db626ef41d54d5b",
|
||||
"bytes": 121856
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll",
|
||||
"sha256": "910604abd4daa6196c8fdcd2db085873ee5a4c27b5a67c359590071117c6e4dd",
|
||||
"bytes": 16384
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.dll",
|
||||
"sha256": "cbf92a935d86596a9d4dbeeaa625e304c2045851a0367c3a6b0de03bf78bd6fa",
|
||||
"bytes": 136704
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.ControlPlane.dll",
|
||||
"sha256": "36954f51b09930df414675e5a0c038933ad2b27cd6560bf797d99801c02b30a1",
|
||||
"bytes": 179200
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.dll",
|
||||
"sha256": "29c079414497b30debe8d3ecd7e77bdc4eb16c4fc076e675680a2e880e54b6c2",
|
||||
"bytes": 10240
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbCip.dll",
|
||||
"sha256": "73073627fcdc8079df645478d6717576975117c3b21cfa7e9422f1e3bc5f4e44",
|
||||
"bytes": 214016
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Contracts.dll",
|
||||
"sha256": "5c66d76dd455c42f0c5b0aed11240fa31e1bdbd2f0a8368d8f41976977e93502",
|
||||
"bytes": 30720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.S7.Contracts.dll",
|
||||
"sha256": "6fe895674318dc42c0c3cc74266831862d3fe2f13098c26e7d826baf79d7fc47",
|
||||
"bytes": 29696
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Contracts.dll",
|
||||
"sha256": "24e795bd8027d7b3ca3d95630b73be6d7cef774243357b01850f145b6066dcb9",
|
||||
"bytes": 139776
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.dll",
|
||||
"sha256": "cd689b0ec777820d91f914abfd9e4a921143a46df84ee43d0214c66f74225ac0",
|
||||
"bytes": 144384
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Browser.dll",
|
||||
"sha256": "ace18db746c30307e67efa3acd68e915cc2b62b0a85bdba833df4ea7c85b5f6c",
|
||||
"bytes": 48128
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.dll",
|
||||
"sha256": "ea24898698c8351bc9cf20fcce725dccc93ccf05ef3af7783f73854cc2033c31",
|
||||
"bytes": 13312
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.S7.dll",
|
||||
"sha256": "d23a7ac62d781f0c14dd7c9d4f51b712c13599ee78b9b6d302d30dfd5e77da37",
|
||||
"bytes": 124928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Contracts.dll",
|
||||
"sha256": "2bdbf743194193d5a7bc323912e2c7f740cc21633154a4a3cc8e034fd15bb7e8",
|
||||
"bytes": 38912
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.dll",
|
||||
"sha256": "6ec1a9bc7443c1d7b8084ee2fc5e67cbfd2a8d61add303a980cef78a46cb5c67",
|
||||
"bytes": 144384
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.dll",
|
||||
"sha256": "400b1896e55d08781231efeba302596299df2b00b2f48afd43d46c22d59b515c",
|
||||
"bytes": 129536
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.dll",
|
||||
"sha256": "7d78655da50c07ac049cd687c59f2a7b6eb2c491543bd4089ffbe60fb805205f",
|
||||
"bytes": 40448
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.dll",
|
||||
"sha256": "8e91a8cce804023639a4bdb2dc60f9fc950992882e50786d45ceeb0f38ed1f68",
|
||||
"bytes": 167424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Client.CLI.dll",
|
||||
"sha256": "38ff27df4c1389d2cf97a7ec1fe206733f02c3664b29c4fe18586ede225a53ca",
|
||||
"bytes": 91648
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Contracts.dll",
|
||||
"sha256": "96db9e5d162b19914cf0ba55c1408c1c9271c80c1a1a12604e684f5785de4b96",
|
||||
"bytes": 17408
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.dll",
|
||||
"sha256": "db1e3e7c79dc1a46e1d4ffaa5ea1aac9ed73814d7f06cbfa855ebb3b27a8810d",
|
||||
"bytes": 131584
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Calculation.dll",
|
||||
"sha256": "132e36042a4691cc8e252ab9e9d8c90592fcd897959f533aa37e33f193cf00c8",
|
||||
"bytes": 57344
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Contracts.dll",
|
||||
"sha256": "780a11f69194713e2f87e74277e99882ee3518b2824551b45cd04e3b9bdf6648",
|
||||
"bytes": 24576
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.dll",
|
||||
"sha256": "c341d49bf100e0617d9c4e7d24f63d8affd1bc0fe2edce15e51cc14366fa2207",
|
||||
"bytes": 43008
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.dll",
|
||||
"sha256": "315dcc540d304c9f1d5b48caa25e5f081569f1a41aa8784cf371c1d6cef7322d",
|
||||
"bytes": 123392
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Contracts.dll",
|
||||
"sha256": "d7b34798587d0939cc78eb69d9df1d617c1c75a61b8dd11a5308958a43a8c4f1",
|
||||
"bytes": 24576
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.dll",
|
||||
"sha256": "cf44009a720a00bf9192374d371c7c76e75afbe62cc216b5c1be913b92679127",
|
||||
"bytes": 135168
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Commons.dll",
|
||||
"sha256": "be97a0b975afde7ec4ebf0b10de53c26f212ceca1f6a3ae090e40ebfde304413",
|
||||
"bytes": 231424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Browser.dll",
|
||||
"sha256": "f2796d323c222708c28cd0a4289c46db31ec3b6537da7f5cd260fc76f8abdc76",
|
||||
"bytes": 19456
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Browser.dll",
|
||||
"sha256": "7e2ac501136d24a3d0ad6bdae2e4a47460439ad8ab78af538bbccca2e38e5695",
|
||||
"bytes": 35840
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.dll",
|
||||
"sha256": "c9670c5d169056563294673839ca63321a72a438c519263be708b55f3fc818f9",
|
||||
"bytes": 214016
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.dll",
|
||||
"sha256": "17c28f27fdecd09a46b971b19655bdb933f84990e91bb80c7092c344a0ca974f",
|
||||
"bytes": 300032
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.dll",
|
||||
"sha256": "34a4d7c0dddf4efa5fae91a3798c2f1c08b992faf4a827a9e05ed1338c6e4720",
|
||||
"bytes": 124928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.dll",
|
||||
"sha256": "ed07d04709372ef804f465995431b15acdef791f66c8130ab7282372728f7cda",
|
||||
"bytes": 25088
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.dll",
|
||||
"sha256": "f0a0cc852116f739247422a0427550e52c938b27d1a8b4e685f45a19a23635ab",
|
||||
"bytes": 38912
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Contracts.dll",
|
||||
"sha256": "724873ac2f6c08f307a150c5575cc3c022d7e367124ed924c0c7899b0e9575a5",
|
||||
"bytes": 39424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.OpcUaServer.dll",
|
||||
"sha256": "ee1f704fa1574b77bf56cef415c47c33a4428c6852db52bb1443d6765d092cb1",
|
||||
"bytes": 363008
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.dll",
|
||||
"sha256": "a8e19baa5a736544d914f942d526a5cc038f6b982451bfa82a77365a159434e4",
|
||||
"bytes": 224768
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Cluster.dll",
|
||||
"sha256": "d6bc21641172d832004b62b8bb76aeb40622a943be2172f394e5c6333c04ef57",
|
||||
"bytes": 67584
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Security.dll",
|
||||
"sha256": "a88b1577d1e4dd580e012e7673e31d5363c3d9a79fb415bef4c3d63849678a4d",
|
||||
"bytes": 52736
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.dll",
|
||||
"sha256": "f1e429c0b8fcab8216b9107440008b92eea1236ff1225e79580ad70f51d56431",
|
||||
"bytes": 83968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.dll",
|
||||
"sha256": "2746b8e9c03b5b8c330152803eee91cf2069f0e6c074d70d03017b1f1f1a2398",
|
||||
"bytes": 51712
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Runtime.dll",
|
||||
"sha256": "50e752383ae81ef6bb23e360fafe9162be0d1dcb7dd2d8731f16bce762834dd4",
|
||||
"bytes": 539648
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"sha256": "500c0c486bd91e04b97560b2f08c1fc2b7fc5ac5fa79642aa2b9af6e7a812617",
|
||||
"bytes": 95232
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Schema.dll",
|
||||
"sha256": "51cfad48657d95d38074bb88be29aea6f5b361a07397247d58838d066b99772e",
|
||||
"bytes": 135168
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/Opc.Ua.Core.dll",
|
||||
"sha256": "9d0857aa6b7f3c49037d4ea557b4da8edf07e146069464481783e66c5c9cd35a",
|
||||
"bytes": 2549376
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/Opc.Ua.Types.dll",
|
||||
"sha256": "c542f69882f4e8a4ebd5ccc28a3881d6967c7ffb6dcc3c56dc6c776f39c2ede1",
|
||||
"bytes": 1792640
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/Opc.Ua.Server.dll",
|
||||
"sha256": "930e714a2f6e15d393840bcdc95e1afa8012bc740c3738a655f958142721864e",
|
||||
"bytes": 3332224
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/Opc.Ua.Core.Types.dll",
|
||||
"sha256": "a7dd141b8dabe8848ff28c2fb8e16a85a0508e6a49e6b1a1c1e267175b99af96",
|
||||
"bytes": 12703872
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll",
|
||||
"sha256": "620da406fabdbc75d11f9827ea7e39d2d3c762471bd2264b0d11f1d6cd9247cd",
|
||||
"bytes": 2442880
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/Opc.Ua.Security.Certificates.dll",
|
||||
"sha256": "7f4969aceb2f0db5328c6882cb4b117342f3b18905c38acdba600683860c4fd0",
|
||||
"bytes": 118400
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/Opc.Ua.Configuration.dll",
|
||||
"sha256": "6ed6a594c93c3ff35d1a16539a9fe87c1e2640549cc2f48ed6bae333dc8bf0e7",
|
||||
"bytes": 117376
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.dll",
|
||||
"sha256": "ad2ebe0e8411f8f1b1d51a0b297f145d633fc8decb6c90f35bd84689f1cb3a69",
|
||||
"bytes": 195072
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll",
|
||||
"sha256": "0c28890f2a6ddf1ccfa8cdb3b8c95bb2284c3721b53eb2210b1249ef8a9e6638",
|
||||
"bytes": 20480
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll",
|
||||
"sha256": "fbcb699370cfdf2518758ce3979d1af4fa2041660afad1eaacdf66e32615c549",
|
||||
"bytes": 124416
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Client.Shared.dll",
|
||||
"sha256": "c2fe235ab38cd6e9f69201cadfd414e065412c6bd272f97850b33d616ce5ad60",
|
||||
"bytes": 120320
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.dll",
|
||||
"sha256": "12f5ed08d11bfd88a3dfe42418b014d6e23a7785202b91ad12c6e1a83d192fc4",
|
||||
"bytes": 56320
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.Contracts.dll",
|
||||
"sha256": "a8c4a4a2a9ff90d8f00183ab1a67e44e5eb1e957780d1a27100ca0e93cd61f28",
|
||||
"bytes": 19456
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.dll",
|
||||
"sha256": "602fc15da19e29198a3cef5d5020ffa6b0bbb446a6484d984bb3f7a69b83a45d",
|
||||
"bytes": 188928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.VirtualTags.dll",
|
||||
"sha256": "c03601d921f0d483a18b8766405223c80f639f734118de1da5d189a4ed513715",
|
||||
"bytes": 11264
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Transport.dll",
|
||||
"sha256": "4c31fcfd93242aafa13cb4779425ff02909f81c2d2c1cf7e8ceefb6aaaf1a3f9",
|
||||
"bytes": 12800
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.AdminUI.dll",
|
||||
"sha256": "0ce4013902b8cd704e7a20afafcbaa5a487cd1bb7c26cd2ac0713dc11c5a0a0d",
|
||||
"bytes": 2152448
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.dll",
|
||||
"sha256": "4a50434a1e440608679f353e10d715c633c9e0220905f12e3e289e0224679224",
|
||||
"bytes": 117248
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Configuration.dll",
|
||||
"sha256": "fc9ce3d1c11dfceeee597bc5ae203bd5748c0e7f2b130c3cc8176757790d51aa",
|
||||
"bytes": 542720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.dll",
|
||||
"sha256": "d93a430dc6d2faad5834ca0b4cdf172734db51bb6752d0c5a11fbf1d16e4cb2d",
|
||||
"bytes": 143872
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.dll",
|
||||
"sha256": "1a2c6a0695579b2f5f7885ba488d075683fe9929a092c1d42e1db64ebe187d9a",
|
||||
"bytes": 121856
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll",
|
||||
"sha256": "bb99f9e72c8ee6e25d50faeae179ffe243f8f39bb8ef2d7ae761294cf1ddc23c",
|
||||
"bytes": 19968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.dll",
|
||||
"sha256": "84959687ffbff354616472e085785a583a1d7c2548494bb6d8aa771f034e52bf",
|
||||
"bytes": 136704
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.ControlPlane.dll",
|
||||
"sha256": "a37b6d6789271d5f95a3663757049765ea19a20235bfca6da3bbe05e2cb0a993",
|
||||
"bytes": 179200
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.dll",
|
||||
"sha256": "c4c1bc2ab5c5f4f594e484b84e9cbe16959439221b287d08c99621de8314107f",
|
||||
"bytes": 10240
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbCip.dll",
|
||||
"sha256": "877a62c49e1c4a829127424270310ad03a9b140ba28ab90cb9f0d26f57bdc23e",
|
||||
"bytes": 214016
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Contracts.dll",
|
||||
"sha256": "921cf8b87f0a00007ff3afcb9038539143d9156dc8ca6c106e4736784bafe108",
|
||||
"bytes": 30720
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.S7.Contracts.dll",
|
||||
"sha256": "bd6bdfb0a1b477eba5c982d11630a281649a0b7e6eab0dd0e1b6da977b8348a9",
|
||||
"bytes": 29696
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Contracts.dll",
|
||||
"sha256": "b3c73be797d483bd0887fb02ea3104323f713e609cf8e91487c44035b64511a1",
|
||||
"bytes": 139776
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.dll",
|
||||
"sha256": "e2863d570d0bb8afe59b15f9e3d594dccf41c966e78cd783c53cbbb6f071514b",
|
||||
"bytes": 147968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Browser.dll",
|
||||
"sha256": "47f5fe5968d002e8d608dc0b08305c7a5e8acfedf76ef2524d1c269fbb138ccf",
|
||||
"bytes": 48128
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.dll",
|
||||
"sha256": "22db91e2af8bc93fb050b4c0d1de9fdf2703029939b82ab6d5b95bc39c9b8c8a",
|
||||
"bytes": 13312
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.S7.dll",
|
||||
"sha256": "0fdab087e07f2fae6ebfdd3660177ac32abf0e629a62b2405c0b0af07a096302",
|
||||
"bytes": 124928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Contracts.dll",
|
||||
"sha256": "7c0dd5a8a1e41c0b1b535b657ecb3f8bc30706d51a0674e452312099d6815542",
|
||||
"bytes": 38912
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.dll",
|
||||
"sha256": "6a35e1840e33acb081425716253025c8cc1d83cea0303fb5c746dc3d5fa5dae4",
|
||||
"bytes": 144384
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.dll",
|
||||
"sha256": "a947eba055aa5196a67bd7fd0864e859f3ecd4600f4869e88902e55e64a2d9b0",
|
||||
"bytes": 129536
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.dll",
|
||||
"sha256": "ffb2018ed15cd44939a8b48cf87147905485ac7381f49011e8ad7496ee290a7f",
|
||||
"bytes": 40448
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.dll",
|
||||
"sha256": "8c58149292eb015a9dfff038dcc2a0b0bfc706a0c9240d1e47b254cdbd422c1e",
|
||||
"bytes": 167424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Contracts.dll",
|
||||
"sha256": "d669e85c94bfc026d41bc8f85ef0400d449fc20c266f1b22080df8bc078930fc",
|
||||
"bytes": 17408
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.dll",
|
||||
"sha256": "54eafb843b8f4eedde13dd5ec97acd6c2f3aacc169979c4e2bed5b89ce996496",
|
||||
"bytes": 131584
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Calculation.dll",
|
||||
"sha256": "1038eb45625e93c77e15f1561d5cd0988ea90753769f40b15f84b634624a71e5",
|
||||
"bytes": 57344
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Contracts.dll",
|
||||
"sha256": "b205095b406d297009c6027dd89cc3ede058fb47fe1e2ddd73ec7fe6ce669c68",
|
||||
"bytes": 24576
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.dll",
|
||||
"sha256": "4fb7a9ff8938b2e66bc361741e2beff8f1ab489c02ea6391c7a4141851ded4b8",
|
||||
"bytes": 43008
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.dll",
|
||||
"sha256": "d0484e3fcb36299fa9eb1d0c83ee6cdb0ca35d748584c72b5db7466fde69716c",
|
||||
"bytes": 123392
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.AbCip.Contracts.dll",
|
||||
"sha256": "db0f111f8debd7b97e374a594a94ccf6f73e21791a65c952773f53f3a87c0b8a",
|
||||
"bytes": 24576
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.dll",
|
||||
"sha256": "f4249cb6b89d06becf41e5494c3b36a154042cd96aad8d09c73a73c1b4e2d5f4",
|
||||
"bytes": 135168
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Commons.dll",
|
||||
"sha256": "b230c84ffd9eb1ef56d5321cab9dd32859056dbb861f1d8167ba5f9d0da9ea54",
|
||||
"bytes": 231424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Browser.dll",
|
||||
"sha256": "28755d92235c896d345bccd6eca9b847f784e6c404178e791cc213a95f9b4eb6",
|
||||
"bytes": 19456
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Browser.dll",
|
||||
"sha256": "14c57c172cce3d0ae79cbcf23c4f5eef939d02f96f922af98908e33ead2f17b5",
|
||||
"bytes": 36352
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.MTConnect.dll",
|
||||
"sha256": "c2789ab6ac08510360f5c376819c77e51002680d5e53b2c83357c9ca06672b8d",
|
||||
"bytes": 214016
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.FOCAS.dll",
|
||||
"sha256": "b235e797154aaf86822e575b9ce226ba18002f15be6b6945531e6ba9c059fb98",
|
||||
"bytes": 300032
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.dll",
|
||||
"sha256": "9d00ecb44437222ed3aecc42e9b3337ba1d7450a246fa2390841acc7dc58ac13",
|
||||
"bytes": 124928
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.dll",
|
||||
"sha256": "4348dd5ee686c32c27de164d1c1e4dbd40b52d99f52f286270142acf030c16f8",
|
||||
"bytes": 25088
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.dll",
|
||||
"sha256": "cd17a68345dfb0ead81b045fd6057c18b186b14393fd2e6a979c242b34fc219d",
|
||||
"bytes": 38912
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Modbus.Contracts.dll",
|
||||
"sha256": "4a8aa7eff2d8129f4803de73041c2daae5ff1643d8499fbdec721659abf9f727",
|
||||
"bytes": 39424
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.OpcUaServer.dll",
|
||||
"sha256": "9175d2271e271a0052f165f33513d23014d879d46eb5c8922157a80f6381125d",
|
||||
"bytes": 420864
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Galaxy.dll",
|
||||
"sha256": "6c25cabf5039eefd70f762567ab95ca2a0a18b756f9898af20a881e15185c249",
|
||||
"bytes": 224768
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Cluster.dll",
|
||||
"sha256": "071e30ca57f8c7baeea75e8f5b2de15092a0f990636b5ebe3aefb7f974b7b155",
|
||||
"bytes": 67584
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Security.dll",
|
||||
"sha256": "b169438db06ed0d0ebddae0b188bbcb1b5725953daad741146ebb95a6f943749",
|
||||
"bytes": 52736
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.dll",
|
||||
"sha256": "66fedb5dc0905be00a157e0d041068f0eb2edd925eb8e7ce1c58f2c382eb234e",
|
||||
"bytes": 83968
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.dll",
|
||||
"sha256": "9eb0644fea0d29ea31f4825fb69c8ae81d1207a4210afe716ce17f1db6688b51",
|
||||
"bytes": 51712
|
||||
},
|
||||
{
|
||||
"path": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ZB.MOM.WW.OtOpcUa.Runtime.dll",
|
||||
"sha256": "2ab4d24740bb3ad0f94c42043c494a0b37c94faa692a9c29e925267a7ae3c896",
|
||||
"bytes": 539648
|
||||
}
|
||||
]
|
||||
-170
@@ -1,170 +0,0 @@
|
||||
[
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"prepare",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-1-baseline/client"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-1-baseline/prepare.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"server",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-1-baseline/server"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-1-baseline/server.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"performance",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-1-baseline/client",
|
||||
"opc.tcp://127.0.0.1:54954/OtOpcUa"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-1-baseline/client.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"prepare",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-1-candidate/client"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-1-candidate/prepare.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"server",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-1-candidate/server"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-1-candidate/server.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"performance",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-1-candidate/client",
|
||||
"opc.tcp://127.0.0.1:54976/OtOpcUa"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-1-candidate/client.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"prepare",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-2-baseline/client"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-2-baseline/prepare.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"server",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-2-baseline/server"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-2-baseline/server.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"performance",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-2-baseline/client",
|
||||
"opc.tcp://127.0.0.1:55036/OtOpcUa"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-2-baseline/client.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"prepare",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-2-candidate/client"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-2-candidate/prepare.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"server",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-2-candidate/server"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-2-candidate/server.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"performance",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-2-candidate/client",
|
||||
"opc.tcp://127.0.0.1:55057/OtOpcUa"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-2-candidate/client.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"prepare",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-3-baseline/client"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-3-baseline/prepare.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"server",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-3-baseline/server"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-3-baseline/server.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-baseline/bin/Release/net10.0/ProcessHost.dll",
|
||||
"performance",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-3-baseline/client",
|
||||
"opc.tcp://127.0.0.1:55141/OtOpcUa"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-3-baseline/client.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"prepare",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-3-candidate/client"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-3-candidate/prepare.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"server",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-3-candidate/server"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-3-candidate/server.log"
|
||||
},
|
||||
{
|
||||
"argv": [
|
||||
"dotnet",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/run-09/build-candidate/bin/Release/net10.0/ProcessHost.dll",
|
||||
"performance",
|
||||
"/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-3-candidate/client",
|
||||
"opc.tcp://127.0.0.1:55174/OtOpcUa"
|
||||
],
|
||||
"log": "/Users/dohertj2/.codex/worktrees/opcua2-cross-version/OtOpcUa/artifacts/cross-version/performance-01/pair-3-candidate/client.log"
|
||||
}
|
||||
]
|
||||
-683
@@ -1,683 +0,0 @@
|
||||
[
|
||||
{
|
||||
"sdk": "1.5.378.0",
|
||||
"process": 28670,
|
||||
"cases": [
|
||||
{
|
||||
"name": "warmed-production-client-read-write-measurement",
|
||||
"status": "passed"
|
||||
}
|
||||
],
|
||||
"observations": [
|
||||
{
|
||||
"SecurityMode": "SignAndEncrypt",
|
||||
"SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256",
|
||||
"tieredCompilation": "0",
|
||||
"scope": "Two scalar/Int32[3] variables; zero data monitors during measurement; five fixture variables and one native condition"
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 1,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.1084,
|
||||
"p95": 0.1271,
|
||||
"p99": 0.1421,
|
||||
"throughputOperationsPerSecond": 9285.499392728334
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.1098,
|
||||
"p95": 0.131,
|
||||
"p99": 0.1444,
|
||||
"throughputOperationsPerSecond": 9130.46892262293
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.1261,
|
||||
"p95": 0.1622,
|
||||
"p99": 0.1971,
|
||||
"throughputOperationsPerSecond": 7760.146294277952
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.129,
|
||||
"p95": 0.1618,
|
||||
"p99": 0.214,
|
||||
"throughputOperationsPerSecond": 7611.187074986556
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 1561.548,
|
||||
"clientAllocatedBytes": 52843304,
|
||||
"clientAllocatedBytesPerOperation": 6605.413,
|
||||
"clientWorkingSetBytes": 137527296,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 17,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
6,
|
||||
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-09/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-09/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-09/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-09/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-09/build-baseline/bin/Release/net10.0/Opc.Ua.Client.dll"
|
||||
}
|
||||
],
|
||||
"pair": 1,
|
||||
"version": "baseline",
|
||||
"server": {
|
||||
"endpoint": "opc.tcp://127.0.0.1:54954/OtOpcUa",
|
||||
"process": 28663,
|
||||
"sdk": "1.5.378.0",
|
||||
"rawUri": "https://zb.com/otopcua/raw",
|
||||
"unsUri": "https://zb.com/otopcua/uns"
|
||||
},
|
||||
"serverResources": {
|
||||
"WorkingSet64": 223887360,
|
||||
"PrivateMemorySize64": 0,
|
||||
"HandleCount": 0,
|
||||
"threads": 30,
|
||||
"cpuMilliseconds": 3865.762,
|
||||
"allocatedBytes": 282715048,
|
||||
"collections": [
|
||||
36,
|
||||
10,
|
||||
3
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"sdk": "2.0.1.0",
|
||||
"process": 29028,
|
||||
"cases": [
|
||||
{
|
||||
"name": "warmed-production-client-read-write-measurement",
|
||||
"status": "passed"
|
||||
}
|
||||
],
|
||||
"observations": [
|
||||
{
|
||||
"SecurityMode": "SignAndEncrypt",
|
||||
"SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256",
|
||||
"tieredCompilation": "0",
|
||||
"scope": "Two scalar/Int32[3] variables; zero data monitors during measurement; five fixture variables and one native condition"
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 1,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.1066,
|
||||
"p95": 0.123,
|
||||
"p99": 0.1348,
|
||||
"throughputOperationsPerSecond": 9448.442447883575
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.1102,
|
||||
"p95": 0.1273,
|
||||
"p99": 0.1392,
|
||||
"throughputOperationsPerSecond": 9103.911131261095
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.1061,
|
||||
"p95": 0.1224,
|
||||
"p99": 0.138,
|
||||
"throughputOperationsPerSecond": 9477.231188999194
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.1087,
|
||||
"p95": 0.1253,
|
||||
"p99": 0.1361,
|
||||
"throughputOperationsPerSecond": 9297.171056790836
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 1592.923,
|
||||
"clientAllocatedBytes": 26878216,
|
||||
"clientAllocatedBytesPerOperation": 3359.777,
|
||||
"clientWorkingSetBytes": 151945216,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 18,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
3,
|
||||
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-09/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-09/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-09/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-09/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-09/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-09/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll"
|
||||
}
|
||||
],
|
||||
"pair": 1,
|
||||
"version": "candidate",
|
||||
"server": {
|
||||
"endpoint": "opc.tcp://127.0.0.1:54976/OtOpcUa",
|
||||
"process": 29017,
|
||||
"sdk": "2.0.1.0",
|
||||
"rawUri": "https://zb.com/otopcua/raw",
|
||||
"unsUri": "https://zb.com/otopcua/uns"
|
||||
},
|
||||
"serverResources": {
|
||||
"WorkingSet64": 225460224,
|
||||
"PrivateMemorySize64": 0,
|
||||
"HandleCount": 0,
|
||||
"threads": 28,
|
||||
"cpuMilliseconds": 14631.949,
|
||||
"allocatedBytes": 152391328,
|
||||
"collections": [
|
||||
20,
|
||||
5,
|
||||
2
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"sdk": "1.5.378.0",
|
||||
"process": 29047,
|
||||
"cases": [
|
||||
{
|
||||
"name": "warmed-production-client-read-write-measurement",
|
||||
"status": "passed"
|
||||
}
|
||||
],
|
||||
"observations": [
|
||||
{
|
||||
"SecurityMode": "SignAndEncrypt",
|
||||
"SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256",
|
||||
"tieredCompilation": "0",
|
||||
"scope": "Two scalar/Int32[3] variables; zero data monitors during measurement; five fixture variables and one native condition"
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 1,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.1066,
|
||||
"p95": 0.1238,
|
||||
"p99": 0.139,
|
||||
"throughputOperationsPerSecond": 9484.700940265833
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.1124,
|
||||
"p95": 0.1331,
|
||||
"p99": 0.1461,
|
||||
"throughputOperationsPerSecond": 8957.752105855532
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.115,
|
||||
"p95": 0.1462,
|
||||
"p99": 0.166,
|
||||
"throughputOperationsPerSecond": 8586.679741317685
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.1177,
|
||||
"p95": 0.152,
|
||||
"p99": 0.1822,
|
||||
"throughputOperationsPerSecond": 8333.253472987553
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 1437.526,
|
||||
"clientAllocatedBytes": 52855576,
|
||||
"clientAllocatedBytesPerOperation": 6606.947,
|
||||
"clientWorkingSetBytes": 137445376,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 17,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
6,
|
||||
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-09/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-09/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-09/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-09/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-09/build-baseline/bin/Release/net10.0/Opc.Ua.Client.dll"
|
||||
}
|
||||
],
|
||||
"pair": 2,
|
||||
"version": "baseline",
|
||||
"server": {
|
||||
"endpoint": "opc.tcp://127.0.0.1:55036/OtOpcUa",
|
||||
"process": 29040,
|
||||
"sdk": "1.5.378.0",
|
||||
"rawUri": "https://zb.com/otopcua/raw",
|
||||
"unsUri": "https://zb.com/otopcua/uns"
|
||||
},
|
||||
"serverResources": {
|
||||
"WorkingSet64": 226934784,
|
||||
"PrivateMemorySize64": 0,
|
||||
"HandleCount": 0,
|
||||
"threads": 29,
|
||||
"cpuMilliseconds": 3721.212,
|
||||
"allocatedBytes": 283566920,
|
||||
"collections": [
|
||||
36,
|
||||
10,
|
||||
3
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"sdk": "2.0.1.0",
|
||||
"process": 29091,
|
||||
"cases": [
|
||||
{
|
||||
"name": "warmed-production-client-read-write-measurement",
|
||||
"status": "passed"
|
||||
}
|
||||
],
|
||||
"observations": [
|
||||
{
|
||||
"SecurityMode": "SignAndEncrypt",
|
||||
"SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256",
|
||||
"tieredCompilation": "0",
|
||||
"scope": "Two scalar/Int32[3] variables; zero data monitors during measurement; five fixture variables and one native condition"
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 1,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.1148,
|
||||
"p95": 0.1461,
|
||||
"p99": 0.1916,
|
||||
"throughputOperationsPerSecond": 8453.853583482856
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.1106,
|
||||
"p95": 0.1352,
|
||||
"p99": 0.1535,
|
||||
"throughputOperationsPerSecond": 9031.92242662466
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.1037,
|
||||
"p95": 0.1201,
|
||||
"p99": 0.1278,
|
||||
"throughputOperationsPerSecond": 9771.59387887815
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.1098,
|
||||
"p95": 0.1258,
|
||||
"p99": 0.1357,
|
||||
"throughputOperationsPerSecond": 9218.53127594152
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 1599.821,
|
||||
"clientAllocatedBytes": 26876112,
|
||||
"clientAllocatedBytesPerOperation": 3359.514,
|
||||
"clientWorkingSetBytes": 151846912,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 18,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
3,
|
||||
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-09/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-09/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-09/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-09/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-09/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-09/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll"
|
||||
}
|
||||
],
|
||||
"pair": 2,
|
||||
"version": "candidate",
|
||||
"server": {
|
||||
"endpoint": "opc.tcp://127.0.0.1:55057/OtOpcUa",
|
||||
"process": 29069,
|
||||
"sdk": "2.0.1.0",
|
||||
"rawUri": "https://zb.com/otopcua/raw",
|
||||
"unsUri": "https://zb.com/otopcua/uns"
|
||||
},
|
||||
"serverResources": {
|
||||
"WorkingSet64": 221364224,
|
||||
"PrivateMemorySize64": 0,
|
||||
"HandleCount": 0,
|
||||
"threads": 28,
|
||||
"cpuMilliseconds": 14663.082,
|
||||
"allocatedBytes": 152371904,
|
||||
"collections": [
|
||||
20,
|
||||
5,
|
||||
2
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"sdk": "1.5.378.0",
|
||||
"process": 29442,
|
||||
"cases": [
|
||||
{
|
||||
"name": "warmed-production-client-read-write-measurement",
|
||||
"status": "passed"
|
||||
}
|
||||
],
|
||||
"observations": [
|
||||
{
|
||||
"SecurityMode": "SignAndEncrypt",
|
||||
"SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256",
|
||||
"tieredCompilation": "0",
|
||||
"scope": "Two scalar/Int32[3] variables; zero data monitors during measurement; five fixture variables and one native condition"
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 1,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.1113,
|
||||
"p95": 0.1326,
|
||||
"p99": 0.1514,
|
||||
"throughputOperationsPerSecond": 8990.861239093505
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.1122,
|
||||
"p95": 0.135,
|
||||
"p99": 0.1487,
|
||||
"throughputOperationsPerSecond": 8981.86516513833
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.1088,
|
||||
"p95": 0.1297,
|
||||
"p99": 0.148,
|
||||
"throughputOperationsPerSecond": 9229.57080649836
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.1013,
|
||||
"p95": 0.1363,
|
||||
"p99": 0.1511,
|
||||
"throughputOperationsPerSecond": 9424.462228404675
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 1460.265,
|
||||
"clientAllocatedBytes": 52847520,
|
||||
"clientAllocatedBytesPerOperation": 6605.94,
|
||||
"clientWorkingSetBytes": 137510912,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 17,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
6,
|
||||
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-09/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-09/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-09/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-09/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-09/build-baseline/bin/Release/net10.0/Opc.Ua.Client.dll"
|
||||
}
|
||||
],
|
||||
"pair": 3,
|
||||
"version": "baseline",
|
||||
"server": {
|
||||
"endpoint": "opc.tcp://127.0.0.1:55141/OtOpcUa",
|
||||
"process": 29435,
|
||||
"sdk": "1.5.378.0",
|
||||
"rawUri": "https://zb.com/otopcua/raw",
|
||||
"unsUri": "https://zb.com/otopcua/uns"
|
||||
},
|
||||
"serverResources": {
|
||||
"WorkingSet64": 218546176,
|
||||
"PrivateMemorySize64": 0,
|
||||
"HandleCount": 0,
|
||||
"threads": 30,
|
||||
"cpuMilliseconds": 3652.527,
|
||||
"allocatedBytes": 284326360,
|
||||
"collections": [
|
||||
35,
|
||||
9,
|
||||
2
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"sdk": "2.0.1.0",
|
||||
"process": 29814,
|
||||
"cases": [
|
||||
{
|
||||
"name": "warmed-production-client-read-write-measurement",
|
||||
"status": "passed"
|
||||
}
|
||||
],
|
||||
"observations": [
|
||||
{
|
||||
"SecurityMode": "SignAndEncrypt",
|
||||
"SecurityPolicyUri": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256",
|
||||
"tieredCompilation": "0",
|
||||
"scope": "Two scalar/Int32[3] variables; zero data monitors during measurement; five fixture variables and one native condition"
|
||||
},
|
||||
{
|
||||
"benchmarkRound": 1,
|
||||
"warmupOperationsPerKind": 10,
|
||||
"operationsPerKind": 50,
|
||||
"latencyMilliseconds": {
|
||||
"scalar-read": {
|
||||
"p50": 0.1134,
|
||||
"p95": 0.2219,
|
||||
"p99": 0.2964,
|
||||
"throughputOperationsPerSecond": 7963.32094373317
|
||||
},
|
||||
"scalar-write": {
|
||||
"p50": 0.1177,
|
||||
"p95": 0.1569,
|
||||
"p99": 0.2249,
|
||||
"throughputOperationsPerSecond": 8232.878494239445
|
||||
},
|
||||
"array-read": {
|
||||
"p50": 0.1161,
|
||||
"p95": 0.1455,
|
||||
"p99": 0.171,
|
||||
"throughputOperationsPerSecond": 8493.990077320781
|
||||
},
|
||||
"array-write": {
|
||||
"p50": 0.1183,
|
||||
"p95": 0.1433,
|
||||
"p99": 0.1651,
|
||||
"throughputOperationsPerSecond": 8450.517361799171
|
||||
}
|
||||
},
|
||||
"clientCpuMilliseconds": 1754.458,
|
||||
"clientAllocatedBytes": 26950792,
|
||||
"clientAllocatedBytesPerOperation": 3368.849,
|
||||
"clientWorkingSetBytes": 151781376,
|
||||
"clientPrivateBytes": 0,
|
||||
"clientThreads": 18,
|
||||
"clientHandles": 0,
|
||||
"collections": [
|
||||
3,
|
||||
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-09/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-09/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-09/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-09/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-09/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-09/build-candidate/bin/Release/net10.0/Opc.Ua.Client.dll"
|
||||
}
|
||||
],
|
||||
"pair": 3,
|
||||
"version": "candidate",
|
||||
"server": {
|
||||
"endpoint": "opc.tcp://127.0.0.1:55174/OtOpcUa",
|
||||
"process": 29458,
|
||||
"sdk": "2.0.1.0",
|
||||
"rawUri": "https://zb.com/otopcua/raw",
|
||||
"unsUri": "https://zb.com/otopcua/uns"
|
||||
},
|
||||
"serverResources": {
|
||||
"WorkingSet64": 226361344,
|
||||
"PrivateMemorySize64": 0,
|
||||
"HandleCount": 0,
|
||||
"threads": 28,
|
||||
"cpuMilliseconds": 15066.213,
|
||||
"allocatedBytes": 152491688,
|
||||
"collections": [
|
||||
20,
|
||||
5,
|
||||
2
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
-220
@@ -1,220 +0,0 @@
|
||||
{
|
||||
"scope": "Supplementary warmed, matched native-process experiment; not full Gate G4.",
|
||||
"environment": {
|
||||
"DOTNET_TieredCompilation": "0",
|
||||
"OPCUA_MATRIX_PERF_ROUNDS": "1",
|
||||
"OPCUA_MATRIX_PERF_WARMUPS": "1000",
|
||||
"OPCUA_MATRIX_PERF_MEASURED": "2000"
|
||||
},
|
||||
"dotnetSdk": "10.0.403",
|
||||
"p95BudgetPercent": 15,
|
||||
"dateUtc": "2026-11-10T17:16:20Z",
|
||||
"logicalCpuCount": 14,
|
||||
"summary": [
|
||||
{
|
||||
"operation": "scalar-read",
|
||||
"samples": {
|
||||
"baseline": {
|
||||
"p95Milliseconds": [
|
||||
0.1271,
|
||||
0.1238,
|
||||
0.1326
|
||||
],
|
||||
"allocatedBytesPerOperation": [
|
||||
6605.413,
|
||||
6606.947,
|
||||
6605.94
|
||||
],
|
||||
"clientWorkingSetBytes": [
|
||||
137527296,
|
||||
137445376,
|
||||
137510912
|
||||
],
|
||||
"serverWorkingSetBytes": [
|
||||
223887360,
|
||||
226934784,
|
||||
218546176
|
||||
]
|
||||
},
|
||||
"candidate": {
|
||||
"p95Milliseconds": [
|
||||
0.123,
|
||||
0.1461,
|
||||
0.2219
|
||||
],
|
||||
"allocatedBytesPerOperation": [
|
||||
3359.777,
|
||||
3359.514,
|
||||
3368.849
|
||||
],
|
||||
"clientWorkingSetBytes": [
|
||||
151945216,
|
||||
151846912,
|
||||
151781376
|
||||
],
|
||||
"serverWorkingSetBytes": [
|
||||
225460224,
|
||||
221364224,
|
||||
226361344
|
||||
]
|
||||
}
|
||||
},
|
||||
"medianP95ChangePercent": 14.94885916601103,
|
||||
"status": "diagnostic-within-budget"
|
||||
},
|
||||
{
|
||||
"operation": "scalar-write",
|
||||
"samples": {
|
||||
"baseline": {
|
||||
"p95Milliseconds": [
|
||||
0.131,
|
||||
0.1331,
|
||||
0.135
|
||||
],
|
||||
"allocatedBytesPerOperation": [
|
||||
6605.413,
|
||||
6606.947,
|
||||
6605.94
|
||||
],
|
||||
"clientWorkingSetBytes": [
|
||||
137527296,
|
||||
137445376,
|
||||
137510912
|
||||
],
|
||||
"serverWorkingSetBytes": [
|
||||
223887360,
|
||||
226934784,
|
||||
218546176
|
||||
]
|
||||
},
|
||||
"candidate": {
|
||||
"p95Milliseconds": [
|
||||
0.1273,
|
||||
0.1352,
|
||||
0.1569
|
||||
],
|
||||
"allocatedBytesPerOperation": [
|
||||
3359.777,
|
||||
3359.514,
|
||||
3368.849
|
||||
],
|
||||
"clientWorkingSetBytes": [
|
||||
151945216,
|
||||
151846912,
|
||||
151781376
|
||||
],
|
||||
"serverWorkingSetBytes": [
|
||||
225460224,
|
||||
221364224,
|
||||
226361344
|
||||
]
|
||||
}
|
||||
},
|
||||
"medianP95ChangePercent": 1.577761081893314,
|
||||
"status": "diagnostic-within-budget"
|
||||
},
|
||||
{
|
||||
"operation": "array-read",
|
||||
"samples": {
|
||||
"baseline": {
|
||||
"p95Milliseconds": [
|
||||
0.1622,
|
||||
0.1462,
|
||||
0.1297
|
||||
],
|
||||
"allocatedBytesPerOperation": [
|
||||
6605.413,
|
||||
6606.947,
|
||||
6605.94
|
||||
],
|
||||
"clientWorkingSetBytes": [
|
||||
137527296,
|
||||
137445376,
|
||||
137510912
|
||||
],
|
||||
"serverWorkingSetBytes": [
|
||||
223887360,
|
||||
226934784,
|
||||
218546176
|
||||
]
|
||||
},
|
||||
"candidate": {
|
||||
"p95Milliseconds": [
|
||||
0.1224,
|
||||
0.1201,
|
||||
0.1455
|
||||
],
|
||||
"allocatedBytesPerOperation": [
|
||||
3359.777,
|
||||
3359.514,
|
||||
3368.849
|
||||
],
|
||||
"clientWorkingSetBytes": [
|
||||
151945216,
|
||||
151846912,
|
||||
151781376
|
||||
],
|
||||
"serverWorkingSetBytes": [
|
||||
225460224,
|
||||
221364224,
|
||||
226361344
|
||||
]
|
||||
}
|
||||
},
|
||||
"medianP95ChangePercent": -16.279069767441868,
|
||||
"status": "diagnostic-within-budget"
|
||||
},
|
||||
{
|
||||
"operation": "array-write",
|
||||
"samples": {
|
||||
"baseline": {
|
||||
"p95Milliseconds": [
|
||||
0.1618,
|
||||
0.152,
|
||||
0.1363
|
||||
],
|
||||
"allocatedBytesPerOperation": [
|
||||
6605.413,
|
||||
6606.947,
|
||||
6605.94
|
||||
],
|
||||
"clientWorkingSetBytes": [
|
||||
137527296,
|
||||
137445376,
|
||||
137510912
|
||||
],
|
||||
"serverWorkingSetBytes": [
|
||||
223887360,
|
||||
226934784,
|
||||
218546176
|
||||
]
|
||||
},
|
||||
"candidate": {
|
||||
"p95Milliseconds": [
|
||||
0.1253,
|
||||
0.1258,
|
||||
0.1433
|
||||
],
|
||||
"allocatedBytesPerOperation": [
|
||||
3359.777,
|
||||
3359.514,
|
||||
3368.849
|
||||
],
|
||||
"clientWorkingSetBytes": [
|
||||
151945216,
|
||||
151846912,
|
||||
151781376
|
||||
],
|
||||
"serverWorkingSetBytes": [
|
||||
225460224,
|
||||
221364224,
|
||||
226361344
|
||||
]
|
||||
}
|
||||
},
|
||||
"medianP95ChangePercent": -17.23684210526316,
|
||||
"status": "diagnostic-within-budget"
|
||||
}
|
||||
],
|
||||
"status": "diagnostic-within-budget"
|
||||
}
|
||||
+3
-1
@@ -71,7 +71,9 @@ internal sealed class DefaultApplicationConfigurationFactory : IApplicationConfi
|
||||
ApplicationType = ApplicationType.Client,
|
||||
ApplicationConfiguration = config
|
||||
};
|
||||
await app.CheckApplicationInstanceCertificatesAsync(false, lifeTimeInMonths: 2048, ct: ct);
|
||||
// Key size is configured separately; this argument is a lifetime in months.
|
||||
// Keep the SDK creation default and reuse any valid certificate already in the store.
|
||||
await app.CheckApplicationInstanceCertificatesAsync(false, ct: ct);
|
||||
}
|
||||
}
|
||||
catch
|
||||
|
||||
+58
@@ -1,4 +1,7 @@
|
||||
using Opc.Ua;
|
||||
using Opc.Ua.Configuration;
|
||||
using System.Security.Cryptography;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using Shouldly;
|
||||
using Xunit;
|
||||
using ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters;
|
||||
@@ -9,6 +12,61 @@ namespace ZB.MOM.WW.OtOpcUa.Client.Shared.Tests.Adapters;
|
||||
/// <summary>Uses the real configuration factory so fake sessions cannot conceal SDK initialization failures.</summary>
|
||||
public sealed class DefaultApplicationConfigurationFactoryTests
|
||||
{
|
||||
[Theory]
|
||||
[InlineData(false)]
|
||||
[InlineData(true)]
|
||||
public async Task New_certificates_use_the_default_lifetime_and_existing_private_keys_are_reused(bool seedLongerCertificate)
|
||||
{
|
||||
var ct = TestContext.Current.CancellationToken;
|
||||
var root = Path.Combine(Path.GetTempPath(), $"otopcua-certificate-lifetime-{Guid.NewGuid():N}");
|
||||
var settings = new ConnectionSettings
|
||||
{
|
||||
EndpointUrl = "opc.tcp://localhost:4840", CertificateStorePath = root,
|
||||
SecurityMode = SecurityMode.None, AutoAcceptCertificates = false,
|
||||
};
|
||||
var factory = new DefaultApplicationConfigurationFactory();
|
||||
ApplicationConfiguration? current = null;
|
||||
try
|
||||
{
|
||||
if (seedLongerCertificate)
|
||||
{
|
||||
var seed = await factory.CreateAsync(settings, ct);
|
||||
await using var application = new ApplicationInstance(DefaultTelemetry.Create(_ => { })) { ApplicationConfiguration = seed };
|
||||
(await application.CheckApplicationInstanceCertificatesAsync(true, lifeTimeInMonths: 60, ct)).ShouldBeTrue();
|
||||
}
|
||||
settings.SecurityMode = SecurityMode.SignAndEncrypt;
|
||||
current = await factory.CreateAsync(settings, ct);
|
||||
var certPath = Directory.GetFiles(Path.Combine(root, "own", "certs"), "*.der").ShouldHaveSingleItem();
|
||||
var privatePath = Directory.GetFiles(Path.Combine(root, "own", "private"), "*.pfx").ShouldHaveSingleItem();
|
||||
using var certificate = X509CertificateLoader.LoadCertificateFromFile(certPath);
|
||||
using var privateCertificate = X509CertificateLoader.LoadPkcs12FromFile(privatePath, null, OperatingSystem.IsMacOS() ? X509KeyStorageFlags.DefaultKeySet : X509KeyStorageFlags.EphemeralKeySet);
|
||||
privateCertificate.HasPrivateKey.ShouldBeTrue();
|
||||
certificate.Thumbprint.ShouldBe(privateCertificate.Thumbprint);
|
||||
using var rsa = certificate.GetRSAPublicKey();
|
||||
rsa.ShouldNotBeNull().KeySize.ShouldBeGreaterThanOrEqualTo(2048);
|
||||
if (seedLongerCertificate)
|
||||
certificate.NotAfter.ToUniversalTime().ShouldBeGreaterThan(DateTime.UtcNow.AddYears(4));
|
||||
else
|
||||
{
|
||||
certificate.NotAfter.ToUniversalTime().ShouldBeGreaterThan(DateTime.UtcNow.AddMonths(CertificateFactory.DefaultLifeTime - 1));
|
||||
certificate.NotAfter.ToUniversalTime().ShouldBeLessThan(DateTime.UtcNow.AddMonths(CertificateFactory.DefaultLifeTime).AddDays(2));
|
||||
}
|
||||
var originalKeyHash = SHA256.HashData(await File.ReadAllBytesAsync(privatePath, ct));
|
||||
(current.CertificateManager as IDisposable)?.Dispose(); current = null;
|
||||
current = await factory.CreateAsync(settings, ct);
|
||||
using var reused = X509CertificateLoader.LoadCertificateFromFile(certPath);
|
||||
reused.Thumbprint.ShouldBe(certificate.Thumbprint);
|
||||
SHA256.HashData(await File.ReadAllBytesAsync(privatePath, ct)).ShouldBe(originalKeyHash,
|
||||
"reinitializing with a shorter creation default must not rotate an existing certificate or private key");
|
||||
Directory.GetFiles(Path.Combine(root, "own", "certs"), "*.der").Length.ShouldBe(1);
|
||||
}
|
||||
finally
|
||||
{
|
||||
(current?.CertificateManager as IDisposable)?.Dispose();
|
||||
if (Directory.Exists(root)) Directory.Delete(root, true);
|
||||
}
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(SecurityMode.None)]
|
||||
[InlineData(SecurityMode.SignAndEncrypt)]
|
||||
|
||||
+15
-143
@@ -99,7 +99,7 @@ public sealed class Sdk2LifecycleSoakTests
|
||||
var cycle = Stopwatch.StartNew();
|
||||
await ExerciseAsync(rig, config, ++cycles, evidence, ct);
|
||||
await EventuallyAsync(() => PublicCounts(rig) == (0, 0, 0), ct);
|
||||
var sample = await CaptureAsync(rig, config.CertificateManager, watch.Elapsed, cycles, clientRoot, serverRoot, ct);
|
||||
var sample = Capture(rig, config.CertificateManager, watch.Elapsed, cycles, clientRoot, serverRoot);
|
||||
sample.Sessions.ShouldBe(0); sample.Subscriptions.ShouldBe(0); sample.Items.ShouldBe(0);
|
||||
sample.BrowsePoints.ShouldBe(0); sample.HistoryPoints.ShouldBe(0);
|
||||
sample.LiveDataItems.ShouldBe(0); sample.LiveEventItems.ShouldBe(0); sample.MonitoredNodes.ShouldBe(0);
|
||||
@@ -144,7 +144,7 @@ public sealed class Sdk2LifecycleSoakTests
|
||||
application = null;
|
||||
finalClientCores.Sum(CachedStores).ShouldBe(0);
|
||||
finalServerCores.Sum(CachedStores).ShouldBe(0);
|
||||
(await DescriptorCountsAsync(ct, clientRoot, serverRoot)).Pki.ShouldBe(0);
|
||||
DescriptorCounts(clientRoot, serverRoot).Pki.ShouldBe(0);
|
||||
await LogAsync(evidence, new { kind = "complete", utc = DateTimeOffset.UtcNow, mode, cycles, restarts, seconds = watch.Elapsed.TotalSeconds,
|
||||
satisfiesTwoHourDuration = mode == "full" && watch.Elapsed.TotalSeconds >= 7200 });
|
||||
}
|
||||
@@ -423,12 +423,12 @@ public sealed class Sdk2LifecycleSoakTests
|
||||
int Descriptors, int PkiDescriptors, long ManagedBytes, long RssBytes, long AllocatedBytes,
|
||||
int Gen0, int Gen1, int Gen2);
|
||||
|
||||
private static async Task<Sample> CaptureAsync(ServerEventRig rig, object clientManager, TimeSpan elapsed, int cycle,
|
||||
string clientRoot, string serverRoot, CancellationToken ct)
|
||||
private static Sample Capture(ServerEventRig rig, object clientManager, TimeSpan elapsed, int cycle,
|
||||
string clientRoot, string serverRoot)
|
||||
{
|
||||
var counts = PublicCounts(rig);
|
||||
var points = rig.Server.CurrentInstance.SessionManager.GetSessions().Select(ContinuationCounts).ToArray();
|
||||
var descriptors = await DescriptorCountsAsync(ct, clientRoot, serverRoot);
|
||||
var descriptors = DescriptorCounts(clientRoot, serverRoot);
|
||||
var retained = GC.GetTotalMemory(forceFullCollection: true);
|
||||
using var process = Process.GetCurrentProcess();
|
||||
process.Refresh();
|
||||
@@ -440,74 +440,12 @@ public sealed class Sdk2LifecycleSoakTests
|
||||
GC.CollectionCount(0), GC.CollectionCount(1), GC.CollectionCount(2));
|
||||
}
|
||||
|
||||
public static bool DescriptorProbeSupported => OperatingSystem.IsLinux() || OperatingSystem.IsMacOS();
|
||||
|
||||
[Fact(SkipUnless = nameof(DescriptorProbeSupported), Skip = "Descriptor probes require Linux procfs or macOS lsof.")]
|
||||
public async Task Descriptor_probe_observes_an_open_PKI_file_through_a_symlink_alias_and_its_close()
|
||||
private static (int Total, int Pki) DescriptorCounts(params string[] roots)
|
||||
{
|
||||
var ct = TestContext.Current.CancellationToken;
|
||||
var temporary = Path.Combine(OperatingSystem.IsMacOS() ? "/tmp" : Path.GetTempPath(), $"otua-pki-probe-{Guid.NewGuid():N}");
|
||||
var pki = Path.Combine(temporary, "pki");
|
||||
var sibling = Path.Combine(temporary, "pki-other");
|
||||
var alias = Path.Combine(temporary, "pki-alias");
|
||||
Directory.CreateDirectory(pki);
|
||||
Directory.CreateDirectory(sibling);
|
||||
try
|
||||
{
|
||||
// On macOS the temporary root itself can use /var -> /private/var. The additional
|
||||
// task-owned alias also checks links whose target contains a linked parent component.
|
||||
Directory.CreateSymbolicLink(alias, pki);
|
||||
await using var outside = new FileStream(Path.Combine(sibling, "control"), FileMode.Create,
|
||||
FileAccess.ReadWrite, FileShare.ReadWrite | FileShare.Delete);
|
||||
CanonicalPath(alias).ShouldBe(CanonicalPath(pki));
|
||||
var before = (await DescriptorCountsAsync(ct, pki, alias)).Pki;
|
||||
before.ShouldBe(0, "a sibling sharing the PKI path prefix is outside the root");
|
||||
int opened;
|
||||
await using (var held = new FileStream(Path.Combine(alias, "control"), FileMode.Create,
|
||||
FileAccess.ReadWrite, FileShare.ReadWrite | FileShare.Delete))
|
||||
{
|
||||
opened = (await DescriptorCountsAsync(ct, pki, alias)).Pki;
|
||||
opened.ShouldBeGreaterThan(0, "the positive control must observe the task-owned file opened through the alias");
|
||||
}
|
||||
var closed = (await DescriptorCountsAsync(ct, pki, alias)).Pki;
|
||||
closed.ShouldBe(0, "closing the positive control must release its descriptor");
|
||||
TestContext.Current.TestOutputHelper!.WriteLine($"PKI descriptor control: before={before}, opened={opened}, closed={closed}; siblingExcluded=true; aliasResolved=true");
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (Directory.Exists(alias)) Directory.Delete(alias);
|
||||
if (Directory.Exists(temporary)) Directory.Delete(temporary, recursive: true);
|
||||
}
|
||||
}
|
||||
|
||||
[Fact(SkipUnless = nameof(DescriptorProbeSupported), Skip = "The bounded probe control uses a task-owned Unix process.")]
|
||||
public async Task Descriptor_probe_times_out_and_reaps_a_process_that_keeps_both_streams_open()
|
||||
{
|
||||
var ct = TestContext.Current.CancellationToken;
|
||||
using var process = new Process
|
||||
{
|
||||
StartInfo = new ProcessStartInfo("/bin/sh")
|
||||
{
|
||||
RedirectStandardOutput = true, RedirectStandardError = true, UseShellExecute = false,
|
||||
ArgumentList = { "-c", "printf control; printf control >&2; exec /bin/sleep 30" },
|
||||
},
|
||||
};
|
||||
var elapsed = Stopwatch.StartNew();
|
||||
await Should.ThrowAsync<TimeoutException>(() => ReadDescriptorProbeAsync(process, TimeSpan.FromMilliseconds(250), ct));
|
||||
elapsed.Elapsed.ShouldBeLessThan(TimeSpan.FromSeconds(4), "timeout includes stream drains and bounded process cleanup");
|
||||
process.HasExited.ShouldBeTrue("the task-owned timed-out process must be killed and reaped before returning");
|
||||
TestContext.Current.TestOutputHelper!.WriteLine($"Descriptor timeout control: deadlineMs=250, elapsedMs={elapsed.Elapsed.TotalMilliseconds:F0}, childExited={process.HasExited}");
|
||||
}
|
||||
|
||||
private static async Task<(int Total, int Pki)> DescriptorCountsAsync(CancellationToken ct, params string[] roots)
|
||||
{
|
||||
ct.ThrowIfCancellationRequested();
|
||||
var canonicalRoots = roots.Select(root => CanonicalPath(root)).Distinct(StringComparer.Ordinal).ToArray();
|
||||
if (OperatingSystem.IsLinux())
|
||||
{
|
||||
var targets = Directory.EnumerateFileSystemEntries("/proc/self/fd")
|
||||
.Select(path => new FileInfo(path).LinkTarget).ToArray();
|
||||
return (targets.Length, targets.Count(path => IsWithinRoots(path, canonicalRoots)));
|
||||
var targets = Directory.EnumerateFileSystemEntries("/proc/self/fd").Select(path => new FileInfo(path).LinkTarget).ToArray();
|
||||
return (targets.Length, targets.Count(path => path is not null && roots.Any(root => path.StartsWith(root, StringComparison.Ordinal))));
|
||||
}
|
||||
if (OperatingSystem.IsMacOS())
|
||||
{
|
||||
@@ -515,84 +453,18 @@ public sealed class Sdk2LifecycleSoakTests
|
||||
{ RedirectStandardOutput = true, RedirectStandardError = true, UseShellExecute = false } };
|
||||
foreach (var arg in new[] { "-a", "-p", Environment.ProcessId.ToString(CultureInfo.InvariantCulture), "-Fnf" })
|
||||
process.StartInfo.ArgumentList.Add(arg);
|
||||
var text = await ReadDescriptorProbeAsync(process, TimeSpan.FromSeconds(5), ct);
|
||||
process.Start();
|
||||
var text = process.StandardOutput.ReadToEnd();
|
||||
_ = process.StandardError.ReadToEnd();
|
||||
if (!process.WaitForExit(5000)) { process.Kill(); throw new TimeoutException("Descriptor probe stalled."); }
|
||||
process.ExitCode.ShouldBe(0);
|
||||
var total = 0;
|
||||
var pki = 0;
|
||||
var descriptor = false;
|
||||
foreach (var line in text.Split('\n'))
|
||||
{
|
||||
if (line.StartsWith('f'))
|
||||
{
|
||||
descriptor = line.Length > 1 && char.IsDigit(line[1]);
|
||||
if (descriptor) total++;
|
||||
}
|
||||
else if (descriptor && line.StartsWith('n') && IsWithinRoots(line[1..], canonicalRoots)) pki++;
|
||||
}
|
||||
return (total, pki);
|
||||
var lines = text.Split('\n');
|
||||
return (lines.Count(line => line.Length > 1 && line[0] == 'f' && char.IsDigit(line[1])),
|
||||
lines.Count(line => line.StartsWith('n') && roots.Any(root => line.AsSpan(1).StartsWith(root, StringComparison.Ordinal))));
|
||||
}
|
||||
throw new PlatformNotSupportedException("This soak requires Linux procfs or macOS lsof for actual descriptor evidence.");
|
||||
}
|
||||
|
||||
private static async Task<string> ReadDescriptorProbeAsync(Process process, TimeSpan timeout, CancellationToken ct)
|
||||
{
|
||||
using var deadline = CancellationTokenSource.CreateLinkedTokenSource(ct);
|
||||
deadline.CancelAfter(timeout);
|
||||
process.Start();
|
||||
var stdout = process.StandardOutput.ReadToEndAsync(deadline.Token);
|
||||
var stderr = process.StandardError.ReadToEndAsync(deadline.Token);
|
||||
var exited = process.WaitForExitAsync(deadline.Token);
|
||||
try
|
||||
{
|
||||
// Waiting for exit alone does not bound reads: both redirected pipes must also finish.
|
||||
await Task.WhenAll(stdout, stderr, exited).WaitAsync(deadline.Token).ConfigureAwait(false);
|
||||
return await stdout.ConfigureAwait(false);
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
try { if (!process.HasExited) process.Kill(entireProcessTree: true); }
|
||||
catch (InvalidOperationException) when (process.HasExited) { /* It exited between the check and kill. */ }
|
||||
await process.WaitForExitAsync(CancellationToken.None).WaitAsync(TimeSpan.FromSeconds(2)).ConfigureAwait(false);
|
||||
// Observe both cancelled drains; never leave a pipe read running after returning.
|
||||
try { await Task.WhenAll(stdout, stderr).WaitAsync(TimeSpan.FromSeconds(2)).ConfigureAwait(false); }
|
||||
catch (OperationCanceledException) { }
|
||||
if (ct.IsCancellationRequested) throw;
|
||||
throw new TimeoutException("Descriptor probe exceeded its process and redirected-stream deadline.");
|
||||
}
|
||||
}
|
||||
|
||||
private static bool IsWithinRoots(string? path, IReadOnlyList<string> roots)
|
||||
{
|
||||
if (path is null || !Path.IsPathFullyQualified(path)) return false;
|
||||
// procfs marks an unlinked but still open file; its containing physical directory still counts.
|
||||
const string deleted = " (deleted)";
|
||||
if (path.EndsWith(deleted, StringComparison.Ordinal)) path = path[..^deleted.Length];
|
||||
var canonical = CanonicalPath(path);
|
||||
return roots.Any(root => canonical.Equals(root, StringComparison.Ordinal)
|
||||
|| canonical.StartsWith(Path.EndsInDirectorySeparator(root) ? root : root + Path.DirectorySeparatorChar,
|
||||
StringComparison.Ordinal));
|
||||
}
|
||||
|
||||
private static string CanonicalPath(string path, int depth = 0)
|
||||
{
|
||||
if (depth > 32) throw new IOException("Descriptor path link resolution exceeded its bound.");
|
||||
var full = Path.GetFullPath(path);
|
||||
var current = Path.GetPathRoot(full)!;
|
||||
foreach (var component in full[current.Length..].Split(Path.DirectorySeparatorChar, StringSplitOptions.RemoveEmptyEntries))
|
||||
{
|
||||
current = Path.Combine(current, component);
|
||||
FileSystemInfo entry = Directory.Exists(current) ? new DirectoryInfo(current) : new FileInfo(current);
|
||||
if (entry.LinkTarget is not null)
|
||||
{
|
||||
var target = entry.ResolveLinkTarget(returnFinalTarget: true)
|
||||
?? throw new IOException("Descriptor path link resolution returned no target.");
|
||||
// Resolve parent links too: an alias target can itself begin with /var or /tmp.
|
||||
current = CanonicalPath(target.FullName, depth + 1);
|
||||
}
|
||||
}
|
||||
return Path.TrimEndingDirectorySeparator(current);
|
||||
}
|
||||
|
||||
private static async Task EventuallyAsync(Func<bool> condition, CancellationToken ct)
|
||||
{
|
||||
var deadline = Stopwatch.StartNew();
|
||||
|
||||
Reference in New Issue
Block a user