Skip to content

Commit 2460527

Browse files
nr-ahemsathchynesNRnrcventuratippmar-nr
authored
feat: Add AWSSDK.DynamoDBv2 instrumentation (#2858)
* Bring initial POC to feature branch (#2836) * First pass at DynamoDB support * db.system attribute was not being set correctly --------- Co-authored-by: chynesNR <[email protected]> * Clean up POC (#2839) * Remove datastore vendor name from ConnectionInfo in MemcachedHelpers * Get operation name from request type by converting PascalCaseRequest to snake_case * Make operation name cache thread safe (#2841) * Make operation name cache thread safe * Cleaner implementation based on PR feedback * Update src/Agent/NewRelic/Agent/Extensions/Providers/Wrapper/AwsSdk/DynamoDbRequestHandler.cs Co-authored-by: Chris Ventura <[email protected]> --------- Co-authored-by: Chris Ventura <[email protected]> * DynamoDB integration tests (#2854) * Rename things in preparation to add another AWS SDK test type * Add project dependencies * More renaming * Initial plumbing created * More cleanup * Forklift exerciser methods from standalone test app * Working tests * Cleanup * Fix port assignment issue seen in CI * Only wait up to two minutes for table to become active * List ports in use in container tests host For temporary troubleshooting * Update tests/Agent/IntegrationTests/ContainerApplications/AwsSdkTestApp/AwsSdkExercisers/AwsSdkDynamoDBExerciser.cs Co-authored-by: Marty T <[email protected]> * Fix port conflict issue plus PR feedback --------- Co-authored-by: Marty T <[email protected]> * Add unit tests for ToSnakeCase() (#2859) Unit tests for ToSnakeCase() --------- Co-authored-by: chynesNR <[email protected]> Co-authored-by: Chris Ventura <[email protected]> Co-authored-by: Marty T <[email protected]>
1 parent ae1d422 commit 2460527

File tree

41 files changed

+752
-112
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+752
-112
lines changed

.github/workflows/run_linux_container_tests.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,6 @@ jobs:
7676
INTEGRATION_TEST_SECRETS: ${{ secrets.TEST_SECRETS }}
7777
run: |
7878
echo $INTEGRATION_TEST_SECRETS | dotnet user-secrets set --project ${{ env.integration_tests_shared_project }}
79-
79+
8080
- name: Build & Run Linux Container Integration Tests
8181
run: dotnet test ./tests/Agent/IntegrationTests/ContainerIntegrationTests/ContainerIntegrationTests.csproj --framework net8.0

src/Agent/NewRelic/Agent/Core/Api/TransactionBridgeApi.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ public ISegment StartDatastoreSegment(string vendor, string model, string operat
226226
var method = new Method(typeof(object), "StartDatastoreSegment", string.Empty);
227227
var methodCall = new MethodCall(method, null, null, false);
228228
var parsedSqlStatement = new ParsedSqlStatement(DatastoreVendor.Other, model, operation);
229-
var connectionInfo = new ConnectionInfo(vendor.ToLower(), host, portPathOrID, databaseName);
229+
var connectionInfo = new ConnectionInfo(host, portPathOrID, databaseName);
230230
return _transaction.StartDatastoreSegment(
231231
methodCall: methodCall,
232232
parsedSqlStatement: parsedSqlStatement,

src/Agent/NewRelic/Agent/Core/Segments/DatastoreSegmentData.cs

+1-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ public class DatastoreSegmentData : AbstractSegmentData, IDatastoreSegmentData
3131
public DatastoreVendor DatastoreVendorName => _parsedSqlStatement.DatastoreVendor;
3232
public string Model => _parsedSqlStatement.Model;
3333
public string CommandText { get; set; }
34-
public string Vendor => _connectionInfo.Vendor;
3534
public string Host => _connectionInfo.Host;
3635
public int? Port => _connectionInfo.Port;
3736
public string PathOrId => _connectionInfo.PathOrId;
@@ -222,7 +221,7 @@ public override void SetSpanTypeSpecificAttributes(SpanAttributeValueCollection
222221
AttribDefs.DbCollection.TrySetValue(attribVals, _parsedSqlStatement.Model);
223222
}
224223

225-
AttribDefs.DbSystem.TrySetValue(attribVals, Vendor);
224+
AttribDefs.DbSystem.TrySetValue(attribVals, DatastoreVendorName.ToKnownName());
226225
AttribDefs.DbInstance.TrySetValue(attribVals, DatabaseName);
227226
AttribDefs.DbOperation.TrySetValue(attribVals, Operation);
228227
AttribDefs.PeerAddress.TrySetValue(attribVals, $"{Host}:{PortPathOrId}");

src/Agent/NewRelic/Agent/Extensions/NewRelic.Agent.Extensions/Parsing/ConnectionString/IbmDb2ConnectionStringParser.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public ConnectionInfo GetConnectionInfo(string utilizationHostName)
2727
var portPathOrId = ParsePortPathOrId();
2828
var databaseName = ConnectionStringParserHelper.GetKeyValuePair(_connectionStringBuilder, _databaseNameKeys)?.Value;
2929

30-
return new ConnectionInfo(DatastoreVendor.IBMDB2.ToKnownName(), host, portPathOrId, databaseName);
30+
return new ConnectionInfo(host, portPathOrId, databaseName);
3131
}
3232

3333
private string ParseHost()

src/Agent/NewRelic/Agent/Extensions/NewRelic.Agent.Extensions/Parsing/ConnectionString/MsSqlConnectionStringParser.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public ConnectionInfo GetConnectionInfo(string utilizationHostName)
2727
var portPathOrId = ParsePortPathOrId();
2828
var databaseName = ConnectionStringParserHelper.GetKeyValuePair(_connectionStringBuilder, _databaseNameKeys)?.Value;
2929
var instanceName = ParseInstanceName();
30-
return new ConnectionInfo(DatastoreVendor.MySQL.ToKnownName(), host, portPathOrId, databaseName, instanceName);
30+
return new ConnectionInfo(host, portPathOrId, databaseName, instanceName);
3131
}
3232

3333
private string ParseHost()

src/Agent/NewRelic/Agent/Extensions/NewRelic.Agent.Extensions/Parsing/ConnectionString/MySqlConnectionStringParser.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public ConnectionInfo GetConnectionInfo(string utilizationHostName)
3535
var port = ConnectionStringParserHelper.GetKeyValuePair(_connectionStringBuilder, _portKeys)?.Value;
3636
if (port == null && host != null)
3737
{
38-
return new ConnectionInfo(DatastoreVendor.MySQL.ToKnownName(), host, "default", databaseName);
38+
return new ConnectionInfo(host, "default", databaseName);
3939
}
4040
else
4141
{
@@ -44,7 +44,7 @@ public ConnectionInfo GetConnectionInfo(string utilizationHostName)
4444
{
4545
portNum = -1;
4646
}
47-
return new ConnectionInfo(DatastoreVendor.MySQL.ToKnownName(), host, portNum, databaseName);
47+
return new ConnectionInfo(host, portNum, databaseName);
4848
}
4949

5050

src/Agent/NewRelic/Agent/Extensions/NewRelic.Agent.Extensions/Parsing/ConnectionString/OracleConnectionStringParser.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ public ConnectionInfo GetConnectionInfo(string utilizationHostName)
2929
var portStr = ParsePortString();
3030
if (string.IsNullOrEmpty(portStr))
3131
{
32-
return new ConnectionInfo(DatastoreVendor.Oracle.ToKnownName(), host, "default", null);
32+
return new ConnectionInfo(host, "default", null);
3333
}
3434
int port;
3535
if (!int.TryParse(portStr, out port))
3636
{
3737
port = -1;
3838
}
39-
return new ConnectionInfo(DatastoreVendor.Oracle.ToKnownName(), host, port, null);
39+
return new ConnectionInfo(host, port, null);
4040
}
4141

4242
private string ParseHost()

src/Agent/NewRelic/Agent/Extensions/NewRelic.Agent.Extensions/Parsing/ConnectionString/PostgresConnectionStringParser.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public ConnectionInfo GetConnectionInfo(string utilizationHostName)
3535
portNum = -1;
3636
}
3737

38-
return new ConnectionInfo(DatastoreVendor.Postgres.ToKnownName(), host, portNum, databaseName);
38+
return new ConnectionInfo(host, portNum, databaseName);
3939
}
4040
}
4141
}

src/Agent/NewRelic/Agent/Extensions/NewRelic.Agent.Extensions/Parsing/ConnectionString/StackExchangeRedisConnectionStringParser.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public ConnectionInfo GetConnectionInfo(string utilizationHostName)
4444
{
4545
portNum = -1;
4646
}
47-
return new ConnectionInfo(DatastoreVendor.Redis.ToKnownName(), ConnectionStringParserHelper.NormalizeHostname(hostPortPair[0], utilizationHostName), portNum, null);
47+
return new ConnectionInfo(ConnectionStringParserHelper.NormalizeHostname(hostPortPair[0], utilizationHostName), portNum, null);
4848
}
4949

5050
return new ConnectionInfo(null, null, null, null);

src/Agent/NewRelic/Agent/Extensions/NewRelic.Agent.Extensions/Parsing/IConnectionInfo.cs

+2-5
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ namespace NewRelic.Agent.Extensions.Parsing
55
{
66
public class ConnectionInfo
77
{
8-
public ConnectionInfo(string vendor, string host, int port, string databaseName, string instanceName = null)
8+
public ConnectionInfo(string host, int port, string databaseName, string instanceName = null)
99
{
10-
Vendor = vendor;
1110
Host = ValueOrUnknown(host);
1211
if (port >= 0)
1312
{
@@ -18,9 +17,8 @@ public ConnectionInfo(string vendor, string host, int port, string databaseName,
1817
InstanceName = instanceName;
1918
}
2019

21-
public ConnectionInfo(string vendor, string host, string pathOrId, string databaseName, string instanceName = null)
20+
public ConnectionInfo(string host, string pathOrId, string databaseName, string instanceName = null)
2221
{
23-
Vendor = vendor;
2422
Host = ValueOrUnknown(host);
2523
Port = null;
2624
PathOrId = ValueOrUnknown(pathOrId);
@@ -33,7 +31,6 @@ private static string ValueOrUnknown(string value)
3331
return string.IsNullOrEmpty(value) ? "unknown" : value;
3432
}
3533

36-
public string Vendor { get; private set; }
3734
public string Host { get; private set; }
3835
public string PortPathOrId { get => (Port != null) ? Port.ToString() : PathOrId; }
3936
public int? Port { get; private set; } = null;

src/Agent/NewRelic/Agent/Extensions/NewRelic.Agent.Extensions/Parsing/StringsHelper.cs

+29
Original file line numberDiff line numberDiff line change
@@ -119,5 +119,34 @@ public static string RemoveBracketsQuotesParenthesis(string value)
119119

120120
return value;
121121
}
122+
123+
public static string ToSnakeCase(this string text)
124+
{
125+
if (text == null)
126+
{
127+
throw new ArgumentNullException(nameof(text));
128+
}
129+
if (text.Length < 2)
130+
{
131+
return text.ToLowerInvariant();
132+
}
133+
var sb = new StringBuilder();
134+
sb.Append(char.ToLowerInvariant(text[0]));
135+
for (int i = 1; i < text.Length; ++i)
136+
{
137+
char c = text[i];
138+
if (char.IsUpper(c))
139+
{
140+
sb.Append('_');
141+
sb.Append(char.ToLowerInvariant(c));
142+
}
143+
else
144+
{
145+
sb.Append(c);
146+
}
147+
}
148+
return sb.ToString();
149+
}
150+
122151
}
123152
}

src/Agent/NewRelic/Agent/Extensions/NewRelic.Agent.Extensions/Providers/Wrapper/Constants.cs

+1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ public enum DatastoreVendor
8080
//SQLite,
8181
CosmosDB,
8282
Elasticsearch,
83+
DynamoDB,
8384
Other
8485
}
8586

src/Agent/NewRelic/Agent/Extensions/Providers/Wrapper/AwsSdk/AwsSdkPipelineWrapper.cs

+4
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ public AfterWrappedMethodDelegate BeforeWrappedMethod(InstrumentedMethodCall ins
5454
{
5555
return SQSRequestHandler.HandleSQSRequest(instrumentedMethodCall, agent, transaction, request, isAsync, executionContext);
5656
}
57+
else if (requestType.StartsWith("Amazon.DynamoDBv2"))
58+
{
59+
return DynamoDbRequestHandler.HandleDynamoDbRequest(instrumentedMethodCall, agent, transaction, request, isAsync, executionContext);
60+
}
5761

5862
if (!_unsupportedRequestTypes.Contains(requestType)) // log once per unsupported request type
5963
{
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Copyright 2020 New Relic, Inc. All rights reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
using System.Collections.Concurrent;
5+
using System.Threading.Tasks;
6+
using NewRelic.Agent.Api;
7+
using NewRelic.Agent.Extensions.Parsing;
8+
using NewRelic.Agent.Extensions.Providers.Wrapper;
9+
10+
namespace NewRelic.Providers.Wrapper.AwsSdk
11+
{
12+
internal static class DynamoDbRequestHandler
13+
{
14+
15+
private static ConcurrentDictionary<string,string> _operationNameCache = new ConcurrentDictionary<string,string>();
16+
17+
public static AfterWrappedMethodDelegate HandleDynamoDbRequest(InstrumentedMethodCall instrumentedMethodCall, IAgent agent, ITransaction transaction, dynamic request, bool isAsync, dynamic executionContext)
18+
{
19+
var requestType = request.GetType().Name as string;
20+
21+
string model;
22+
string operation;
23+
24+
// PutItemRequest => put_item,
25+
// CreateTableRequest => create_table, etc.
26+
operation = _operationNameCache.GetOrAdd(requestType, GetOperationNameFromRequestType);
27+
28+
// Even though there is no common interface they all implement, every Request type I checked
29+
// has a TableName property
30+
model = request.TableName;
31+
32+
var segment = transaction.StartDatastoreSegment(instrumentedMethodCall.MethodCall, new ParsedSqlStatement(DatastoreVendor.DynamoDB, model, operation), isLeaf: true);
33+
return isAsync ?
34+
Delegates.GetAsyncDelegateFor<Task>(agent, segment)
35+
:
36+
Delegates.GetDelegateFor(segment);
37+
}
38+
39+
private static string GetOperationNameFromRequestType(string requestType)
40+
{
41+
return requestType.Replace("Request", string.Empty).ToSnakeCase();
42+
}
43+
}
44+
}

src/Agent/NewRelic/Agent/Extensions/Providers/Wrapper/CosmosDb/ExecuteItemQueryAsyncWrapper.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2020 New Relic, Inc. All rights reserved.
1+
// Copyright 2020 New Relic, Inc. All rights reserved.
22
// SPDX-License-Identifier: Apache-2.0
33

44
using System;
@@ -78,7 +78,7 @@ public AfterWrappedMethodDelegate BeforeWrappedMethod(InstrumentedMethodCall ins
7878
var segment = transaction.StartDatastoreSegment(
7979
instrumentedMethodCall.MethodCall,
8080
new ParsedSqlStatement(DatastoreVendor.CosmosDB, model, operation),
81-
connectionInfo: endpoint != null ? new ConnectionInfo(DatastoreVendor.CosmosDB.ToKnownName(), endpoint.Host, endpoint.Port, databaseName) : new ConnectionInfo(string.Empty, string.Empty, string.Empty, databaseName),
81+
connectionInfo: endpoint != null ? new ConnectionInfo(endpoint.Host, endpoint.Port, databaseName) : new ConnectionInfo(string.Empty, string.Empty, string.Empty, databaseName),
8282
commandText : querySpec != null ? _queryGetter.Invoke(querySpec) : string.Empty,
8383
isLeaf: true);
8484

src/Agent/NewRelic/Agent/Extensions/Providers/Wrapper/CosmosDb/RequestInvokerHandlerWrapper.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2020 New Relic, Inc. All rights reserved.
1+
// Copyright 2020 New Relic, Inc. All rights reserved.
22
// SPDX-License-Identifier: Apache-2.0
33

44
using System;
@@ -67,7 +67,7 @@ public AfterWrappedMethodDelegate BeforeWrappedMethod(InstrumentedMethodCall ins
6767
var segment = transaction.StartDatastoreSegment(
6868
instrumentedMethodCall.MethodCall,
6969
new ParsedSqlStatement(DatastoreVendor.CosmosDB, model, operation),
70-
connectionInfo: endpoint != null ? new ConnectionInfo(DatastoreVendor.CosmosDB.ToKnownName(), endpoint.Host, endpoint.Port, databaseName) : new ConnectionInfo(string.Empty, string.Empty, string.Empty, databaseName),
70+
connectionInfo: endpoint != null ? new ConnectionInfo(endpoint.Host, endpoint.Port, databaseName) : new ConnectionInfo(string.Empty, string.Empty, string.Empty, databaseName),
7171
isLeaf: true);
7272

7373
return Delegates.GetAsyncDelegateFor<Task>(agent, segment);

src/Agent/NewRelic/Agent/Extensions/Providers/Wrapper/Elasticsearch/RequestWrapper.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public AfterWrappedMethodDelegate BeforeWrappedMethod(InstrumentedMethodCall ins
6868
}
6969

7070
var transactionExperimental = transaction.GetExperimentalApi();
71-
var datastoreSegmentData = transactionExperimental.CreateDatastoreSegmentData(new ParsedSqlStatement(DatastoreVendor.Elasticsearch, model, operation), new ConnectionInfo(DatastoreVendor.Elasticsearch.ToKnownName(), string.Empty, string.Empty, string.Empty), string.Empty, null);
71+
var datastoreSegmentData = transactionExperimental.CreateDatastoreSegmentData(new ParsedSqlStatement(DatastoreVendor.Elasticsearch, model, operation), new ConnectionInfo(string.Empty, string.Empty, string.Empty), string.Empty, null);
7272
var segment = transactionExperimental.StartSegment(instrumentedMethodCall.MethodCall);
7373
segment.GetExperimentalApi().SetSegmentData(datastoreSegmentData).MakeLeaf();
7474

@@ -271,7 +271,7 @@ private static void SetUriOnDatastoreSegment(ISegment segment, Uri uri)
271271
{
272272
var segmentExperimentalApi = segment.GetExperimentalApi();
273273
var data = segmentExperimentalApi.SegmentData as IDatastoreSegmentData;
274-
data.SetConnectionInfo(new ConnectionInfo(DatastoreVendor.Elasticsearch.ToKnownName(), uri.Host, uri.Port, string.Empty));
274+
data.SetConnectionInfo(new ConnectionInfo(uri.Host, uri.Port, string.Empty));
275275
segmentExperimentalApi.SetSegmentData(data);
276276
}
277277

src/Agent/NewRelic/Agent/Extensions/Providers/Wrapper/Memcached/MemcachedHelpers.cs

+3-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using System;
55
using NewRelic.Agent.Api;
66
using NewRelic.Agent.Extensions.Parsing;
7-
using NewRelic.Agent.Extensions.Providers.Wrapper;
87
using NewRelic.Reflection;
98

109
namespace NewRelic.Providers.Wrapper.Memcached
@@ -27,7 +26,7 @@ public static ConnectionInfo GetConnectionInfo(string key, object target, IAgent
2726
{
2827
if (_hasGetServerFailed)
2928
{
30-
return new ConnectionInfo(DatastoreVendor.Memcached.ToKnownName(), null, -1, null);
29+
return new ConnectionInfo(null, -1, null);
3130
}
3231

3332
try
@@ -67,13 +66,13 @@ public static ConnectionInfo GetConnectionInfo(string key, object target, IAgent
6766
_portGetter ??= VisibilityBypasser.Instance.GeneratePropertyAccessor<int>(endpointType, "Port");
6867
int? port = _portGetter(endpoint);
6968

70-
return new ConnectionInfo(DatastoreVendor.Memcached.ToKnownName(), address, port.HasValue ? port.Value : -1, null);
69+
return new ConnectionInfo(address, port.HasValue ? port.Value : -1, null);
7170
}
7271
catch (Exception exception)
7372
{
7473
agent.Logger.Warn(exception, "Unable to get Memcached server address/port, likely to due to type differences. Server address/port will not be available.");
7574
_hasGetServerFailed = true;
76-
return new ConnectionInfo(DatastoreVendor.Memcached.ToKnownName(), null, -1, null);
75+
return new ConnectionInfo(null, -1, null);
7776
}
7877
}
7978
}

src/Agent/NewRelic/Agent/Extensions/Providers/Wrapper/MongoDb26/MongoDbHelper.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public static ConnectionInfo GetConnectionInfoFromCursor(object asyncCursor, obj
128128

129129
var databaseName = GetDatabaseNameFromCollectionNamespace(collectionNamespace);
130130

131-
return new ConnectionInfo(DatastoreVendor.MongoDB.ToKnownName(), host, port, databaseName);
131+
return new ConnectionInfo(host, port, databaseName);
132132
}
133133

134134
public static ConnectionInfo GetConnectionInfoFromDatabase(object database, string utilizationHostName)
@@ -146,7 +146,7 @@ public static ConnectionInfo GetConnectionInfoFromDatabase(object database, stri
146146
host = ConnectionStringParserHelper.NormalizeHostname(rawHost, utilizationHostName);
147147
}
148148

149-
return new ConnectionInfo(DatastoreVendor.MongoDB.ToKnownName(), host, port, databaseName);
149+
return new ConnectionInfo(host, port, databaseName);
150150
}
151151

152152
private static IList GetServersFromDatabase(object database)

src/Agent/NewRelic/Agent/Extensions/Providers/Wrapper/ServiceStackRedis/SendCommandWrapper.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public AfterWrappedMethodDelegate BeforeWrappedMethod(InstrumentedMethodCall ins
8282
portNum = -1;
8383
}
8484
var databaseName = TryGetPropertyName(PropertyDatabaseName, contextObject);
85-
var connectionInfo = new ConnectionInfo(DatastoreVendor.Redis.ToKnownName(), host, portNum, databaseName);
85+
var connectionInfo = new ConnectionInfo(host, portNum, databaseName);
8686

8787
var segment = transaction.StartDatastoreSegment(instrumentedMethodCall.MethodCall, ParsedSqlStatement.FromOperation(DatastoreVendor.Redis, operation), connectionInfo);
8888

src/Agent/NewRelic/Agent/Extensions/Providers/Wrapper/StackExchangeRedis/Common.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ public static ConnectionInfo GetConnectionInfoFromConnectionMultiplexer(MethodCa
122122
return null;
123123
}
124124

125-
return new ConnectionInfo(DatastoreVendor.Redis.ToKnownName(), host, port, null, null);
125+
return new ConnectionInfo(host, port, null, null);
126126
}
127127

128128
private static string GetCommandNameFromEnumValue(Enum commandValue)

src/Agent/NewRelic/Agent/Extensions/Providers/Wrapper/StackExchangeRedis2Plus/SessionCache.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -121,14 +121,14 @@ private ConnectionInfo GetConnectionInfo(EndPoint endpoint)
121121
{
122122
var port = dnsEndpoint.Port;
123123
var host = ConnectionStringParserHelper.NormalizeHostname(dnsEndpoint.Host, _agent.Configuration.UtilizationHostName);
124-
return new ConnectionInfo(DatastoreVendor.Redis.ToKnownName(), host, port, null, null);
124+
return new ConnectionInfo(host, port, null, null);
125125
}
126126

127127
if (endpoint is IPEndPoint ipEndpoint)
128128
{
129129
var port = ipEndpoint.Port;
130130
var host = ConnectionStringParserHelper.NormalizeHostname(ipEndpoint.Address.ToString(), _agent.Configuration.UtilizationHostName);
131-
return new ConnectionInfo(DatastoreVendor.Redis.ToKnownName(), host, port, null, null);
131+
return new ConnectionInfo(host, port, null, null);
132132
}
133133

134134
return null;

tests/Agent/IntegrationTests/ContainerApplications/AwsSdkTestApp/AwsSdkExerciser/AwsSdkTestType.cs

-12
This file was deleted.

0 commit comments

Comments
 (0)