[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title R. Tyler Croy resolved as Fixed Since the error telemetry will cover things for now, I'm going to go ahead and close this. Jenkins / JENKINS-49892 Evaluate options for collecting "method instrumentation" telemetry Change By: R. Tyler Croy Status: In Progress Resolved Resolution: Fixed Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroup
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title Carlos Sanchez commented on JENKINS-49892 Re: Evaluate options for collecting "method instrumentation" telemetry Fine with me for starters Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title Jesse Glick commented on JENKINS-49892 Re: Evaluate options for collecting "method instrumentation" telemetry To give a little more context to my earlier comment. Generally, we should drop from consideration any architectural change which involves too much Java magic. We had serious problems in the past with weird errors thrown under certain circumstances that were ultimately traceable to the ticks done to support @AdaptField, for example, and core devs had to spend a lot of time wrestling with ASM issues and so on. And of course an enormous amount of effort has been invested dealing with the use of Java serialization and reflection in core Jenkins libraries such as Stapler and Remoting—any productivity benefits from “convention over configuration” are in practice negligible compared to the debugging burden when things go wrong. (Not to mention security vulnerabilities.) Going forward, anything we can do to keep things at the level of plain old “CS 101” Java programming will make everyone sleep better at night. Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title R. Tyler Croy assigned an issue to Carlos Sanchez In the Gitter chat, Jesse Glick suggested implementing code changes and then taking advantage of the existing error telemetry tooling which will be implemented as part of JENKINS-49805. If I'm understanding Jesse Glick's suggestion correctly, we would be making code changes on methods we would want to see call stacks from via some code private static final SetWARNINGS = new ConcurrentSet<>(); public static void warnAboutDeprecatedMethod() { StackTraceElements[] stack = new Throwable().getStackTrace(); String key = stack[2] + " → " + stack[1]; if (WARNINGS.add(key) { LOGGER.warning("deprecated call to " + stack[1] + "\n\tat " + stack[2]); } } Which could then be called in "methods of interest", and use the error telemetry mechanism to transmit the call stack off the Jenkins instance. Carlos Sanchez, since this saves us a boatload of work, I'm perfectly fine with it if you are Jenkins / JENKINS-49892 Evaluate options for collecting "method instrumentation" telemetry Change By: R. Tyler Croy Assignee: R. Tyler Croy Carlos Sanchez Add Comment
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title Jesse Glick commented on JENKINS-49892 Re: Evaluate options for collecting "method instrumentation" telemetry My standing suggested alternative: something in, say, hudson.Util: private static final SetWARNINGS = Collections.synchronizedSet(new HashSet<>()); public static void warnAboutDeprecatedMethod() { StackTraceElements[] stack = new Throwable().getStackTrace(); String key = stack[2] + "|" + stack[1]; if (WARNINGS.add(key) { LOGGER.warning("deprecated call to " + stack[1] + "\n\tat " + stack[2]); } } Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title Baptiste Mathus commented on JENKINS-49892 Re: Evaluate options for collecting "method instrumentation" telemetry Carlos Sanchez can you please complete the description of this JIRA with your requirements here? It's hard to judge what solution can match your needs currently . Thanks! Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title Jesse Glick commented on JENKINS-49892 Re: Evaluate options for collecting "method instrumentation" telemetry No no no no no. Did I mention no? Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title R. Tyler Croy commented on JENKINS-49892 Re: Evaluate options for collecting "method instrumentation" telemetry BTrace actually looks like it might be the right fit to start implementing tihs Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title R. Tyler Croy commented on JENKINS-49892 Re: Evaluate options for collecting "method instrumentation" telemetry Based on a conversation with Carlos Sanchez, I think what would be a better path to take would be to define a simple YAML file which contains method signatures that he is interested in watching for. Once a Java agent sees that signature, it should report a stacktrace up to the Evergreen hosted services layer. Since this would be a Java agent, we could update that YAML file at least once per day with the deployment of a new upgrade for Jenkins Essentials. One additional caveat which Carlos mentioned was that he might want to watch "hot paths" which means we should do some client-side checksumming of recently published stacktraces in order to avoid flooding the service or taking over the outbound network connection's bandwidth for common/hot code paths. Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title R. Tyler Croy commented on JENKINS-49892 Re: Evaluate options for collecting "method instrumentation" telemetry I've also taken a look at InspectIT which doesn't seem to really have a good server-side component and makes me worry about potential security implications using it across a wide-area network Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title R. Tyler Croy updated an issue Jenkins / JENKINS-49892 Evaluate options for collecting "method instrumentation" telemetry Change By: R. Tyler Croy To support some of the work that [~csanchez] is doing, we will need to find some way of selectively collecting method instrumentation telemetry. This will help us identify stale and unused code paths.Some options might include using off-the-shelf tools such as: * New Relic * Dynatrace * AppDynamics * Datadog APM * ??? Or rolling some combination of our own? Not sure. Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title R. Tyler Croy started work on JENKINS-49892 Change By: R. Tyler Croy Status: Open In Progress Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title R. Tyler Croy updated an issue Jenkins / JENKINS-49892 Evaluate options for collecting "method instrumentation" telemetry Change By: R. Tyler Croy To support some of the work that [~csanchez] is doing, we will need to find some way of selectively collecting method instrumentation telemetry. This will help us identify stale and unused code paths.Some options might include using off-the-shelf tools such as: * New Relic * AppDynamics * Datadog APM * ??? Or rolling some combination of our own? Not sure. Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-49892) Evaluate options for collecting "method instrumentation" telemetry
Title: Message Title R. Tyler Croy created an issue Jenkins / JENKINS-49892 Evaluate options for collecting "method instrumentation" telemetry Issue Type: Task Assignee: R. Tyler Croy Components: essentials Created: 2018-03-02 18:38 Priority: Minor Reporter: R. Tyler Croy To support some of the work that Carlos Sanchez is doing, we will need to find some way of selectively collecting method instrumentation telemetry. This will help us identify stale and unused code paths. Some options might include using off-the-shelf tools such as: New Relic Datadog APM ??? Or rolling some combination of our own? Not sure. Add Comment