Runtime Exception Analysis with OverOps - Product Showcase
14K views
Nov 6, 2023
Join us on September 3 with Oliver Nielsen for the next episode of the Product Showcase live show focused on "Runtime Exception Analysis with OverOps". GUEST SPEAKER: Oliver is VP of Customer Success, Oliver leads our post-sales organization to deliver the best customer experience, driving business value, and enabling ecstatic clients. He has over 20 years of development, consulting, management, and leadership experience at organizations like Blue Cross Blue Shield of Kansas City, Management Signals, Pentaho, and Hitachi Vantara. Speaker Profile: https://twitter.com/OliverNielsen1 #OverOps #ProductShowcCase
View Video Transcript
0:00
Thank you
0:30
20 years ago, a seed was planted and cared for. We painstakingly nurtured it and weathered it against adversity
0:37
until one day it blossomed and the fruits of our labor began to show
0:42
Today, millions have learned, shared, and been inspired by what our community has produced
0:47
We proudly serve 21 million users from 204 countries in 2019. For our 85,000 technical articles, code samples, and videos
0:56
our 450,000 forum questions, and our highly anticipated conferences and events featuring
1:02
keynote panels, live streams, and industry experts and influencers. We recognize and reward members
1:08
for their dedication to the community. Through content contributions and mentorships, we ranked
1:12
number 2,620 in the world, with a reach of millions across our social media channels. Thanks to you
1:18
our global community of software and data developers grow stronger each day. For more
1:23
information, visit us at csharpcorner.com. Hi, everyone. Welcome back to C Sharp
1:29
Corner Product Showcase. As always, I'm your host, Stephen Simon, and I'm really
1:33
excited for this show. We have not been product showcase for a while. We have been
1:37
doing the Code World Show. We have been doing Code Mindset, MVP Show. That's the
1:43
reason I am really, really excited for this episode of Product Showcase. It's
1:47
going to be very short and very crisp as we feature a company that is
1:52
over ops i don't know anything about it and if you don't know anything about this is the perfect
1:59
live show for you to go ahead and watch it and if you're someone who will be watching this live show
2:04
after it is not live once we are private and set it to everyone to watch later on
2:10
all the important links will be dropping in the description and once we put it on c-sharp corner
2:15
so that all the call to action urls documentations and everything we have discussed will be available
2:20
to you right where we put the videos having said that this episode will be focused on over ops and
2:28
joining me today from over ops is oliver nelson i'm going to quickly read his bio uh oliver nelson
2:35
works as a dp of customer success he leads a post sales organization to deliver the best customer
2:41
experience driving business value and enabling uh clients i think i've missed some of them
2:47
I messed up his bio, I'm really sorry. He has over 20 years of development, consulting, management, and leadership experience at organizations
2:55
like Blue Cross, Blue Shield of Kansas City, Management Signals, Hitachi, and Mantara
3:03
So without any further ado, let's invite our guest of this show, Oliver
3:08
Hi, Oliver. Welcome to the live show. Hello, C-Sharp Corner. How is everyone today
3:13
It's great to be with you. Thanks. To begin with, thanks, Oliver, for accepting the invitation
3:18
I know it was a very short notice, so we really appreciate that
3:22
But before we get into all this technical stuff of this over ops, what it is, how you can get started
3:28
why don't you give a quick overview of who you are, what you do, and especially the way you're joining us today
3:35
Absolutely. So my role here at over ops is vice president of customer success
3:39
myself and my team work with all of our customers in the field
3:44
installing over ops, making sure that environments are spec'd properly. And we do architecture work with our customers
3:51
And then we do a lot of training and enablement with customers, making sure that over ops data is used properly and integrated with all of
3:58
their existing tools. So that is my role. And I have a team behind me that helps do everything in the field after
4:05
you've actually purchased over ops. so having said that you know uh i just hit your website that is overops.com right and the very
4:15
first tagline that i get to see is the fastest way to wire that's a very uncommon uh tagline
4:21
so what is it actually the fastest way to wire so yeah so i'll give you a little history about it
4:28
you know over 11 years ago the the founders of over ops had just sold a piece of software to
4:35
another company, and they decided that there were a lot of issues with trying to figure out why code
4:41
breaks. It was really easy to find out when and where things broke, but doing all of the necessary
4:48
things to find out how things broke was the problem. We had logs. There's APM tools. You
4:56
have to do a lot of different things to figure out why code actually breaks. So the founders set
5:02
out to figure out a way to find out at runtime when something breaks. Let's get the source code
5:10
Let's get the variable state. Let's find out who committed this code. All of these things we have
5:15
done with overops to make sure that well beyond where and when things break, how and why they break
5:22
So as we go through things today, I'm going to show you exactly that. How and why code breaks
5:27
in .NET and Java apps. And we'll show you how we put that all together to do it
5:31
completely automatically for you with no code changes at all. That sounds very exciting
5:38
You have brought all the best practices and learnings from all those years
5:43
You're saying that, hey, this is what we have learned, and this is how we can help you with your existing solutions
5:48
You did also mention, Oliver, that it is focused on .NET and Java
5:54
That's where the focus is, right? That is correct. .NET Core and Java apps
6:00
So we run within the .NET CLR and in any standalone Java or application server or any other Java environments as well
6:09
So pure Java and .NET Core is what we run up. Okay
6:13
So that's great. That's great. So if you want to go ahead and maybe talk about what is over ops or maybe do a screen sharing, please feel free to take it from here
6:22
Sure, absolutely. Absolutely. People are joining in. And Mahesh says code breaks because people writing code don spend time understanding how code works They copy and paste So as I said OverOps is going to show you the how and why code breaks
6:40
So for any of you that are developers, whenever you're looking at log files
6:44
or application logs or looking in things like Splunk or Kibana, or even if you have APM tools available to you
6:53
really, when you get down to the detail, all you really get is a call stack
6:58
which is what I am showing here on the screen. So what over ops does is rather than just giving you the call stack
7:06
we give you a lot more than that. So in this case, this was just a very basic input string
7:13
was not in the correct format problem. What over ops does is not only do we give you that exception
7:20
but we actually give you the source code that was running at the time that that exception happened
7:26
So I'm going to show you today this screen here, which is going to help you do root cause ytics of any exception in any
7:34
environment, especially production. And then I'm going to show you how we integrate this same data into automated
7:40
CI processes. So you can get runtime data into those tools. And then I'm also going to show you how you can integrate this data into other
7:49
tools as well, like ticketing systems, production notification systems, things like that
7:54
But at the high level, we're taking the exception, we are decompiling the code or linking you directly to your source repository, and we can actually give you all of the variable state at the time that that has broken
8:11
So in this case, this was an input string was not correct. When I go down here to where we actually threw that exception, this was the data that was in that field at the time that it broke
8:24
So they were trying to do an integer conversion of a string field
8:28
In this case, it was ABCD. So right here, we can see the value that was in the variables and what it was trying to do at the time that it broke, which is very important
8:40
Over here on the right are all the variables that were captured at the time this broke
8:47
You can also search variables, things like that. All of that stuff is available right here as we capture that exception
8:55
And as I mentioned, there's no code changes that have to take place
8:59
This is an agent that's running in the NotNet CLR. It's not any applications they're running
9:05
And anytime an exception is thrown, we capture this data. We call it a snapshot
9:10
And that snapshot includes the source code and the variable state. Another thing that's great is we can tie directly to your repository, your source repo
9:21
So we can tell who committed this line of code. We can go directly from over ops to your source repository, GitHub, GitLab, Bitbucket
9:34
It takes us right down to that line of code, who committed it and what it used to be
9:40
So not only do we get you the actual source code and variable state, we can tell you who committed it and when the last commit was done and when it got promoted, what release it was in and everything
9:52
So it's all the context that you can't get in just a log file
9:58
It's all the context that you can't get in an APM solution. It's everything you need to reproduce an exception in any environment
10:06
As I mentioned, we started this as a production debugger over 11 years ago
10:11
But we found that this runtime data serves purposes not only in production and helping to reproduce exceptions there, but it's also very valuable in building code before it ever actually gets to production
10:25
So a little more about the context of this data. Not only do we know the exception, we know when we first saw the exception in this environment
10:33
We know what version it was in when we first saw it
10:38
And we know how many times it's actually happened in our code and the rate at which it's happening
10:43
The server it's on, the application, and the deployment it's currently in
10:48
So there's a ton of context around this data that you can't get with any other tools
10:55
Now, some more context. Environmental values. Sometimes it's not the code. Sometimes it's not the data
11:04
In a lot of places, when you push code out to environments, it could be environmental issues as well
11:10
So not only are we catching the source code and variable state
11:14
all of the environmental variables are captured. Active threads, CLR process information
11:22
last loading information, all of that data is also captured when we take that snapshot
11:27
So, again, a lot of data here, a lot of context. It's all being done automatically
11:35
But our theory from the beginning was let's not make you guys learn a completely new tool
11:43
Every company we talked to already has processes in place like Jenkins and Bamboo, automated CI processes
11:52
They already have log aggregators in place like Splunk and Kibana. So we want to get this data into the hands of developers that already have established tool sets
12:04
And there's a couple ways we go about doing that. That first screen I showed you up here at the very top is something that we call a tiny link
12:13
This link is something that we inject into any log that is produced from the .NET CLR
12:23
and any other stack trace that's emitted from that. So if you already have log yzers like Kibana or Splunk, if you have APM tools like AppD, Dynatrace, Riverbed, any of those tools that consume the stack trace, we have this tiny link in there
12:43
And I'll show you what that does for you. So in a log aggregator like Kibana, any log you have is going to have this tiny link in it
12:51
So you'll have the stack trace there, but now you've got this tiny link
12:55
You can click on that tiny link from any of your logs, and this will get you to that root cause screen
13:02
All the source code all the variable state from the time that that broke So you don have to spend any more time digging around in other logs looking around in databases to figure out what the values were Everything is
13:16
there one click from your logs. Let's talk about shifting left. Well, let's talk about when you
13:24
automatically build software. When you build, compile, deploy, run unit tests, run regression
13:32
tests and you're actually exercising that code, over ops can be attached to those environments
13:38
and watching that code at runtime. So when that happens, build tools like Jenkins, we can bring that data back into the actual
13:47
Jenkins tool and in CloudBees or in GitLab, any of the major CI tool vendors, we can bring
13:53
this data back into. So from the tool, you can say, all right, here's my list of new exceptions that we've
14:00
never seen before. And from here, we can click on that inside Jenkins, and it gets us again right to that root cause screen of when it broke, what the variables were, what the source code was
14:15
So that's shifting left. Another shift left is anybody that has static ysis tools like SonarCube
14:25
SonarCube is great at doing code scans, code smells, scanning the code while it's in your
14:31
repository, making sure it's well-formed, making sure there aren't any problems with packages
14:37
classes, libraries that you've used for that code. But we can also take our runtime information and
14:45
bring it back into Sonar. So in this case, it says run all of its scams. There's not an issue with
14:54
anything but when it actually ran there's some bugs that popped up and we integrate our overops
15:02
data into the static ysis that sonar is already doing so when we dig in and we see some
15:09
bugs in sonar cube we can click on this and again here's the line of code that was broken at runtime
15:17
we have a link right here that gets us back to that root cause screen
15:23
So all roads lead back to this snapshot that we've taken at runtime
15:29
to give you the source code variable state. The last thing I'll show you is, you know
15:37
think of doing all this development work in pre-production or even in production
15:42
And the prod support teams can't really gather all the information that a developer needs to fix it
15:50
But what they can do is create a JIRA ticket. So let's think of, all right, a production support person sees this exception happen in production
15:59
They don't know how to fix it, but they can create a JIRA ticket right from the screen
16:04
When we create a JIRA ticket, we put it into a triage project
16:09
you know exactly what application it is, what deployment it's in, the server
16:17
you know, the when and where. But again, the JIRA ticket then has this link
16:22
that the developer can use to go look at what happened when it actually broke
16:28
All the variables, the source code, all of that stuff is here for the developer to use
16:33
and understand what it is he has to do to reproduce that exception
16:38
All of that's there. And all of it's automatic. So hopefully that makes sense to you
16:45
You know, every developer, every QA person, every production support person that we talk to spends untold amounts of time trying to do reproduction of exceptions
16:58
And a lot of cases, you can't. No matter what you do, you get to these unable to reproduce problems
17:06
OverOps eliminates that. It's monitoring this. At runtime, no code changes, no instrumentation
17:13
It's an agent attached to the environment. It's very performant, even in production environments
17:18
We're running in some of the largest financial services organizations in the world in production
17:23
And that's exactly what it's built for. So hopefully this short demo will give you a little context as to what OverOps does
17:33
how we can supplement your existing tool set so that you don't have to learn something new
17:37
and give you that missing link, that final mile of data and context that you need to reproduce
17:44
exceptions and hopefully not ever allow those things to get into production
17:50
Now, Simon's going to share with you a couple of links on this video. One is going to be to our
17:57
free trial. You guys can download this for a 14-day completely fully functional trial to
18:05
attached to your .NET application. So you can see exactly with your application, the data that we
18:10
are pulling in. We're also going to send you a link to our YouTube channel that has a plethora of
18:16
small, short videos about what overops is, how we integrate with different tools. There's even
18:23
some neat videos of how we've integrated overops with things like Minecraft mods and, you know
18:30
Hadoop Spark applications. There's some really neat videos for you guys to see different ways we
18:34
use it and the easiest way to get this installed so you can try it yourselves and see all the
18:41
magic that happens with this data. So hopefully that helps folks out there. Let's see if there's
18:48
any questions on the chat. Does that make sense? Yeah, that was absolutely good. I think you just
18:56
covered a lot and explained the entire ecosystem of the DevOps in just 15 minutes. There's one
19:01
question coming from where he says did you just say dotnet core not dotnet framework yes it's
19:09
dotnet core right now that's correct okay it's only for dotnet core not for the entire that's
19:15
correct yeah okay okay so to me and to me Oliver it looks like okay what about blazer
19:23
i'm not familiar with blazer um it's front end uh it's like front like view and jess but from the
19:35
microsoft ecosystem with c sharp and all you can do it uh so it looks like uh the the over ops to me as a layman right who has who not going to development it looks like it debugging on steroids right With many more things right I definitely like where you can actually go ahead and track
19:52
what are the changes you made in that GitHub repo, who did it? So that was absolutely amazing
19:58
So, but you know, Oliver, many people watching this show, they're developers, right
20:04
And buying the software or maybe investing in some of the resources
20:07
it comes from the manager perspective, right? So if I'm a developer and I need to go ahead
20:13
and tell my managers that, hey, I was watching this show and I found out this amazing overhocks tool
20:20
that can really help us going forward, what one advice or maybe one
20:27
you can say the best thing you would tell them as an advice they can go ahead and tell their managers
20:33
Well, I think anybody we've talked to is sick and tired of trying to figure all this stuff out manually. They're spending a huge amount
20:41
of time doing this type of ysis. And all the folks by just because of the time saved in trying
20:49
to reproduce these exceptions, nobody's doing runtime ysis like this. Like I said, there's
20:55
plenty of APM tools that are telling you when and where things happen and they're monitoring
20:59
performance, but they're not giving you any break ysis. So the thing that costs our customers
21:06
the most money is when something breaks. You get downtime, you get customer satisfaction problems
21:11
you get brand tarnishment when stuff breaks and you can't fix it. And there aren't any other tools
21:18
that are giving you this final mile of data that's necessary to really fix the problem
21:23
So I think when they go to talk to their managers, they can say, yes, we can leverage the tools we've
21:27
already purchased, but we need to have this data to actually fix it and fix it quick
21:32
And that is really the tipping factor on, you know, whether a manager wants to start
21:38
finding out more about it, because it's going to save him time in fixing problems
21:42
And it's going to save him a ton of developer time because they're wasting it trying to
21:46
get all this information put together. And most of the time they can't. Yeah, makes sense
21:51
Makes sense. A quick question, Oliver. I'm just going through this overall website
21:55
I see you have absolutely amazing customers anyway, Xperia, Visa, Fox, and Podcast
22:01
And I also see it can over-ops and integrate with the existing tools
22:05
It can be, as you said, Jenkins or maybe Slack or Jira would be Elastic
22:10
So it looks like you guys have gone and integrated your tool with the existing one
22:16
So people, as you said, you don't want people to go ahead and learn a new tool from this
22:21
once again. So that has been pretty promising. My quick question is, is there any white papers
22:26
or something you've been able to go and download it and have it or something like that? Or maybe
22:30
some resources or something you'd like to share? On our website, there is an entire white paper
22:36
section. If you go out there and look at that, when you look at about over ops or our software
22:43
there's an entire list of white. These are even white papers we've done with customers
22:48
if you look on product down to white papers and ebooks actually I'm sorry under resources white papers and ebooks you'll see an
22:57
entire list of white papers we've done with customers and use cases we've done with them from financial services to telco
23:04
to e-commerce even white papers we've done with the CI tools and different webinars all of that stuff's out there
23:12
for you guys to look at and review and download and and watch some live events that we've done
23:20
All right. That is absolutely amazing. As you said, I have dropped the link for white papers
23:25
in the chat, everyone who's watching. I've also dropped the link for YouTube
23:30
And I've also dropped the link for getting started with OroOps. Everyone who's watching, we have shared all the resources
23:36
We have got an amazing demo from Oliver on what the product is, how you get started
23:41
and how you can avoid some big faults once you go ahead and start using OroOps
23:45
and yeah, you get a 14 days free trial so that's absolutely amazing
23:50
go ahead and grab it having said that Oliver we are reaching almost towards the end of the show
23:56
any final thing you want to plug in at this moment? No, I think
24:01
go out and give our trial a shot we've recently refined it so you can have it
24:06
up and running and have data from your own app in about 15 minutes
24:10
it should be very easy and very straightforward, you know the proof is in the
24:14
pudding. Go look at it with your data. Make sure that you're attaching it to an application that's
24:19
actually running, that's actually getting some load. Because again, this is runtime ytics
24:24
when the code's being exercised. So when you do our trial, make sure you're doing it on something
24:30
that you're running some tests again so you can see what happens when data is actually flowing
24:34
through it. And we look forward to having you try it out. And there's a lot of different options for
24:40
single developer, small teams, and even enterprise pricing. So very, very competitive
24:45
and very easy to get started. All right, that's good. Definitely go ahead and check out the pricing section
24:52
As I will say, it may be you are an indie developer or a startup or an enterprise
24:56
I think, or Ops is there for you. Thank you so much, Oliver
25:00
Really appreciate it. It was an absolutely amazing show. We would love to have you back
25:04
We've had a couple of your team members in the past at C Sharp Live. your product looks really really promising and we're really excited having said that before you
25:14
all go up as the announcement i have to make that we have had your summit live coming up
25:19
next i think next next week on september 13 to september 23 it's 11 days live conference
25:27
featuring more than 150 speakers and over 100 such and just so nageo so definitely go and check
25:33
that out having said that thank you so much everyone for joining thanks alia for your time
25:37
and we will see you next time. Thanks, C-Sharp Corner. Hope to see you soon
25:42
Thank you
#Helpdesk & Customer Support Systems
#Intelligent Personal Assistants
#Programming
#Software