Comments (5)
Fantastic, thanks @jeanbisutti.
Will provide feedback early next week.
from applicationinsights-java.
@slavik112211 You can download here a SNAPSHOT version with the connection string check removed. Could you please try it?
from applicationinsights-java.
confirming that the provided applicationinsights-agent-3.5-SNAPSHOT.jar correctly sets the connectionString multiple times throught the lifecycle of the application using:
com.microsoft.applicationinsights.connectionstring.ConnectionString.configure(connectionString);
Tested using telemetryClient.trackMetric(metric)
, and confirm that customMetrics end up in different AppInsights endpoints.
Please proceed with merging your change into Production version.
Please note, our app is not using the agent jar directly (i.e. applicationinsights-agent-3.5-SNAPSHOT.jar), but rather uses <artifactId>applicationinsights-runtime-attach</artifactId>
, and thus the new agent would need to be incorporated into the new applicationinsights-runtime-attach
Maven package.
from applicationinsights-java.
@slavik112211 Thanks for testing. The fix will work both with -javaagent
and with the applicationinsights-runtime-attach
dependency.
from applicationinsights-java.
@jeanbisutti With a similar need, with the 2.x SDK, we were able to create different TelemetryClient instances that sent data to different application insight resources by setting the respective instrumentation key.
@Configuration
public class TelemetryClientConfiguration {
@Value("${azure.application-insights.vendorcomm-instrumentation-key}")
private String vendorCommAppInsightsKey;
@Value("${azure.application-insights.cps-app-insights-instrumentation-key}")
private String appInsightsKey;
@Bean("vendorCommTelemetryClient")
public TelemetryClient vendorCommTelemetryClient() {
TelemetryClient telemetryClient = new TelemetryClient();
telemetryClient.getContext().setInstrumentationKey(vendorCommAppInsightsKey);
return telemetryClient;
}
@Bean("appInsightsTelemetryClient")
public TelemetryClient appInsightsTelemetryClient() {
TelemetryClient telemetryClient = new TelemetryClient();
telemetryClient.getContext().setInstrumentationKey(appInsightsKey);
return telemetryClient;
}
}
However, when moving to the 3.x SDK, it does not appear that we have same capability. I was hoping that something like this would have worked...
@Configuration
public class TelemetryClientConfiguration {
@Value("${azure.application-insights.connection-string}")
private String connectionString;
@Value("${azure.application-insights.vendorcomm-connection-string}")
private String vendorCommConnectionString;
@Primary
@Bean("appInsightsTelemetryClient")
TelemetryClient telemetryClient() {
TelemetryClient telemetryClient = new TelemetryClient();
telemetryClient.getContext().setConnectionString(connectionString);
return telemetryClient;
}
@Bean("vendorCommTelemetryClient")
TelemetryClient vendorCommTelemetryClient() {
TelemetryClient telemetryClient = new TelemetryClient();
telemetryClient.getContext().setConnectionString(vendorCommConnectionString);
return telemetryClient;
}
}
...but unfortunately all of the telemetry is being sent to the application insight resource that was set with this line of code...
com.microsoft.applicationinsights.connectionstring.ConnectionString.configure(connectionString);
Is there a way to accomplish what we're attempting to do with having multiple TelemetryClients with different connection strings in the same application?
Thank you for your time
from applicationinsights-java.
Related Issues (20)
- Application Insights runtime attach agent metric-filtering not working HOT 10
- Is there a way to sample overrides Servicebus requests? HOT 18
- Workflow failed: OWASP dependency check (daily) (#532) HOT 1
- Workflow failed: OWASP dependency check (daily) (#542)
- Workflow failed: OWASP dependency check (daily) (#547)
- Sampling based on dependency result HOT 2
- OpenTelemetry support for MQTT pub/sub with Application Insights Java agent HOT 1
- Ignore newline and carriage return in the connection string file
- Sampling override based on request processing time? HOT 7
- Support for OTEL Synchronous Gauge HOT 3
- ignore InProc sampling dependencies
- Sampling override with http.response.status_code doesn't work HOT 6
- MySql dependency tree not available with applicationinsights-agent-3.5.1 HOT 4
- Question: How to turn off instrumentation of just Azure Service Bus
- Workflow failed: OWASP dependency check (daily) (#585)
- Custom Availability telemetry not working HOT 2
- Azure ServiceBus dependency tree not available with applicationinsights-agent-3.5.2 HOT 2
- Can't load log handler "com.microsoft.applicationinsights.TelemetryClient" - AI 3.5.2 in Java HOT 2
- SFTP dependency tree not available with applicationinsights-agent-3.5.2 HOT 3
- APPLICATIONINSIGHTS_CONNECTION_STRING does not work in 3.5.x, works in 3.4.x HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from applicationinsights-java.