BlockHound
futuristic-feline
BlockHound | futuristic-feline | |
---|---|---|
6 | 1 | |
1,297 | 11 | |
0.5% | - | |
7.4 | 7.2 | |
12 days ago | 6 days ago | |
Java | Java | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
BlockHound
- Is there a good way to monitor code for blocking operations?
-
Reactive Backend Applications with Spring Boot, Kotlin and Coroutines (Part 1)
There is a great tool called Blockhound we can use to detect if/when we have a blocking call in our application. This way, we can ensure that we don't break the non-blocking nature of our application by mistake while developing new features. Setting it up is fairly straightforward.
- Using Java's Project Loom to build more reliable distributed systems
-
3 Reasons Why All Java Developers Should Consider Quarkus
There's even a test library to detect them: https://github.com/reactor/BlockHound
-
BlockHound: how it works
One of the talks in my current portfolio is Migrating from Imperative to Reactive. The talk is based on a demo migrating from Spring WebMVC to Spring WebFlux in a step-by-step approach. One of the steps involves installing BlockHound: it allows to check whether a blocking call occurs in a thread it shouldn't happen and throws an exception at runtime when it happens.
-
Kicking Spring Native's tires
The first step is to make the application compatible with GraalVM. We need to remove Blockhound from the code. Blockhound allows verifying that no blocking code runs in unwanted places. It's a Java agent that requires a JDK, not a JRE. It's great for a demo, but it has nothing to do with a production application.
futuristic-feline
-
Is there a good way to monitor code for blocking operations?
There's also this: https://github.com/spotify/futuristic-feline
What are some alternatives?
spring-native - Spring Native is now superseded by Spring Boot 3 official native support
Elasticsearch - Free and Open, Distributed, RESTful Search Engine
imperative-to-reactive - Shows how to migrate from a Imperative Programming model to a Reactive Programming model step-by-step, while keeping caching
Spring Boot - Spring Boot
lucene-grep - Grep-like utility based on Lucene Monitor compiled with GraalVM native-image
advanced-java - 😮 Core Interview Questions & Answers For Experienced Java(Backend) Developers | 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识
reactive-kotlin-weather-api
interviews - Everything you need to know to get the job.
agroal - The natural database connection pool
JavaGuide - 「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
reactor-core - Non-Blocking Reactive Foundation for the JVM
Design Patterns - Design patterns implemented in Java