Flight Recorder becomes part of OpenJDK
openjdk.java.net
openjdk.java.net
Complaining about “in flight” or “cloud” or “serverless” even though everyone understands what those terms mean seems like bikeshedding at its worst.
I try not to make others feel stupid just because they don't know the keywords. Sure it would be easier and faster to talk but if I'm not understood it's meaningless.
Far too often I hear people argue "it's not in the cloud, it's on a server" which makes people think it's hosted on-prem on a server that we own and control and maintain, but it's not. It's on someone else's network, on someone else's server, a server that they own and control and perform the maintenance for. But that's a really long winded response, so luckily we agreed on a single word to represent that concept: cloud. Like it or not, words have meanings and those meanings have definitions. If someone isn't likely to understand the word, explain it using its definition. Don't just unilaterally switch to a completely different word.
My CEO might not know what "serverless" means, but once I explain it using its commonly accepted definition she can now read the commonly accepted word in a trade magazine and understand what they're talking about. Otherwise she'd never know to link the word to its definition. That's the basic concept of language.
Running already is a metaphor for what a CPU does. Do you object to that, too?
I don't actually object to the "Flight Recorder" either, I just find it to be a weird name that I probably wouldn't have picked, hence my comment on it.
We're not "using 'flight' as a metaphor for the runtime of our code".
We just adopted wholesale the terms "preflight check" and "flight recorder".
And at least the former has been adopted in several other industries/contexts.
0 - https://www.azul.com/downloads/zulu/ 1 - https://adoptopenjdk.net/
Oracle is "safe" if you're upper management.
For comparsion, here's the repo where we keep our builder for OpenJDK: https://github.com/cloudfoundry/java-buildpack-dependency-bu...
I also found: https://github.com/ojdkbuild/ojdkbuild while looking for Red Hat's build scripts. I didn't find those, but only because I am bad at searching. They'll be published somewhere.
Trying one thing, gathering data, and later deciding on another course of action isn't necessarily inconsistent.
E.g. - frameworks, libraries, web-servers exposing their metric through this. Some building other ways to consume the metric from a running recorder. Right now you have to dump it in file and pull that to JMC. But imagine a monitoring tool pulling the data out of the recoding engine on the fly and provide storage, live visualization/analysis.
A lock free low overhead in-memory collector inside the JVM seems very useful even without considering some of the very useful metric that JFR have right now.
You'll see plenty of APM vendors building on top of this technology. For years we've all tried to build lightweight mechanisms to get vital metrics out of the JVM with regards to Object and Execution profiling and although some strong progress was being made (Honest Profiler, Async Profiler et al), none of them are as comprehensive as Flight Recorder (Oracle did have the advantage of owning Java there).
Our own plans will be to refactor our ML diagnostic engine on top of Flight Recorder data. We're really, really looking forward to this!
I also assume freed from generating the basic metric and the lightweight recording infrastructure will free up resources for more extensive metric and analysis. It would also allow for more innovative exploration.
If I understand correctly it also provides some very helpful building block like high performance stacktrace and timing. I think fast reliable timing (the JVM is widely fractured in it's timer performance) would be helpful even for regular users like me.
One row less in my Dockerfiles.
The best option is just to stay away from Oracle Java and Oracle Mysql stuff unless you've vetted their use with lawyers on both sides.