Files that are both large and changed often are where bugs tend to cluster and where refactoring pays off first. Each file in the current tree is placed by its size and by the number of commits that changed it; its hotspot score is changes × √lines. Files without counted lines, such as binary files, are left out.
Each dot is a file; a bigger dot is a higher score. The dashed lines mark the median file size and the median number of changes, so the large files that change often are in the top right. Both axes are logarithmic. Showing the 2,000 highest-scoring of 4,822 files.
The files ranked by hotspot score: the larger a file is and the more often it changes, the higher it ranks. Authors is how many people have changed the file, bots aside, as on the Code Ownership page: a hotspot only one person has changed is also a bus-factor risk.
| File | Lines | Changes | Authors | Score | |
|---|---|---|---|---|---|
| dubbo-dependencies-bom/pom.xml | 1,111 | 1,007 | 73 | 33,565.0 | |
| pom.xml | 1,215 | 740 | 62 | 25,794.1 | |
| dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java | 1,202 | 237 | 61 | 8,216.8 | |
| dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java | 910 | 216 | 55 | 6,515.9 | |
| dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd | 2,351 | 134 | 46 | 6,497.3 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java | 1,205 | 162 | 34 | 5,623.5 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java | 855 | 155 | 30 | 4,532.3 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java | 1,522 | 111 | 44 | 4,330.4 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java | 802 | 143 | 44 | 4,049.7 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/URL.java | 1,877 | 91 | 30 | 3,942.5 |
| File | Lines | Changes | Authors | Score | |
|---|---|---|---|---|---|
| dubbo-dependencies-bom/pom.xml | 1,111 | 1,007 | 73 | 33,565.0 | |
| pom.xml | 1,215 | 740 | 62 | 25,794.1 | |
| dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java | 1,202 | 237 | 61 | 8,216.8 | |
| dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java | 910 | 216 | 55 | 6,515.9 | |
| dubbo-config/dubbo-config-spring/src/main/resources/META-INF/dubbo.xsd | 2,351 | 134 | 46 | 6,497.3 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java | 1,205 | 162 | 34 | 5,623.5 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java | 855 | 155 | 30 | 4,532.3 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java | 1,522 | 111 | 44 | 4,330.4 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/constants/CommonConstants.java | 802 | 143 | 44 | 4,049.7 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/URL.java | 1,877 | 91 | 30 | 3,942.5 | |
| dubbo-distribution/dubbo-all/pom.xml | 1,114 | 100 | 29 | 3,337.7 | |
| dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultApplicationDeployer.java | 1,458 | 81 | 23 | 3,092.9 | |
| dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java | 1,404 | 78 | 23 | 2,922.7 | |
| dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/bootstrap/DubboBootstrap.java | 891 | 97 | 25 | 2,895.4 | |
| dubbo-config/dubbo-config-spring/src/main/resources/META-INF/compat/dubbo.xsd | 1,733 | 68 | 23 | 2,830.8 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java | 526 | 111 | 21 | 2,545.8 | |
| dubbo-config/dubbo-config-api/pom.xml | 250 | 155 | 26 | 2,450.8 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/event/listener/ServiceInstancesChangedListener.java | 609 | 98 | 13 | 2,418.4 | |
| dubbo-config/dubbo-config-spring/pom.xml | 251 | 149 | 22 | 2,360.6 | |
| dubbo-common/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java | 1,004 | 72 | 23 | 2,281.4 | |
| dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DubboProtocol.java | 661 | 85 | 23 | 2,185.3 | |
| dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/MetadataInfo.java | 896 | 73 | 11 | 2,185.1 | |
| dubbo-common/src/main/java/org/apache/dubbo/config/AbstractConfig.java | 1,187 | 63 | 18 | 2,170.5 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistryDirectory.java | 859 | 71 | 12 | 2,080.9 | |
| dubbo-distribution/dubbo-bom/pom.xml | 678 | 75 | 27 | 1,952.9 | |
| dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/AbstractConfigTest.java | 1,051 | 58 | 20 | 1,880.3 | |
| dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/ServiceConfigTest.java | 784 | 65 | 16 | 1,820.0 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/utils/NetUtils.java | 931 | 59 | 34 | 1,800.2 | |
| dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistry.java | 831 | 60 | 27 | 1,729.6 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/utils/StringUtils.java | 1,453 | 45 | 27 | 1,715.3 | |
| dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/RpcInvocation.java | 898 | 56 | 17 | 1,678.1 | |
| dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/utils/ConfigValidationUtils.java | 787 | 59 | 21 | 1,655.2 | |
| .github/workflows/build-and-test-pr.yml | 665 | 63 | 13 | 1,624.6 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistry.java | 704 | 61 | 28 | 1,618.5 | |
| dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java | 643 | 63 | 14 | 1,597.5 | |
| dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/ConfigTest.java | 1,191 | 46 | 15 | 1,587.5 | |
| dubbo-common/pom.xml | 119 | 144 | 26 | 1,570.9 | |
| dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/annotation/ReferenceAnnotationBeanPostProcessor.java | 639 | 61 | 20 | 1,542.0 | |
| README.md | 139 | 130 | 48 | 1,532.7 | |
| dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleInvoker.java | 431 | 69 | 21 | 1,432.5 | |
| dubbo-common/src/main/java/org/apache/dubbo/config/ApplicationConfig.java | 870 | 48 | 16 | 1,415.8 | |
| dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java | 579 | 57 | 24 | 1,371.6 | |
| dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java | 496 | 59 | 15 | 1,314.0 | |
| dubbo-cluster/pom.xml | 107 | 126 | 23 | 1,303.4 | |
| dubbo-test/dubbo-dependencies-all/pom.xml | 505 | 58 | 20 | 1,303.4 | |
| dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/RpcContext.java | 925 | 42 | 13 | 1,277.4 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/utils/PojoUtils.java | 908 | 40 | 24 | 1,205.3 | |
| dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/schema/DubboBeanDefinitionParser.java | 654 | 47 | 21 | 1,202.0 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/utils/UrlUtils.java | 708 | 44 | 22 | 1,170.8 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/InstanceAddressURL.java | 688 | 43 | 7 | 1,127.9 | |
| dubbo-common/src/main/java/org/apache/dubbo/config/context/ConfigManager.java | 365 | 59 | 13 | 1,127.2 | |
| dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/protocol/AbstractInvoker.java | 352 | 60 | 21 | 1,125.7 | |
| dubbo-common/src/test/java/org/apache/dubbo/common/URLTest.java | 1,152 | 33 | 20 | 1,120.1 | |
| dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/support/AbstractClusterInvoker.java | 500 | 50 | 19 | 1,118.0 | |
| dubbo-config/pom.xml | 78 | 125 | 16 | 1,104.0 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/ServiceInstanceMetadataUtils.java | 281 | 65 | 15 | 1,089.6 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/utils/ReflectUtils.java | 1,395 | 29 | 18 | 1,083.1 | |
| dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/filter/GenericFilter.java | 383 | 55 | 20 | 1,076.4 | |
| dubbo-registry/dubbo-registry-zookeeper/src/main/java/org/apache/dubbo/registry/zookeeper/ZookeeperRegistry.java | 479 | 49 | 29 | 1,072.4 | |
| dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/AsyncRpcResult.java | 380 | 54 | 17 | 1,052.7 | |
| dubbo-registry/dubbo-registry-api/pom.xml | 106 | 102 | 21 | 1,050.2 | |
| dubbo-common/src/test/java/org/apache/dubbo/common/utils/PojoUtilsTest.java | 1,289 | 29 | 18 | 1,041.2 | |
| dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleHttp2Protocol.java | 283 | 61 | 19 | 1,026.2 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/threadpool/manager/DefaultExecutorRepository.java | 516 | 45 | 17 | 1,022.2 | |
| dubbo-common/src/test/java/org/apache/dubbo/common/extension/ExtensionLoaderTest.java | 885 | 34 | 21 | 1,011.5 | |
| dubbo-distribution/dubbo-all-shaded/pom.xml | 1,129 | 30 | 13 | 1,008.0 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/DefaultServiceInstance.java | 380 | 51 | 12 | 994.2 | |
| dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ApplicationModel.java | 486 | 45 | 12 | 992.0 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/config/Environment.java | 363 | 52 | 10 | 990.7 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/metadata/MetadataUtils.java | 376 | 51 | 9 | 988.9 | |
| dubbo-common/src/main/java/org/apache/dubbo/config/ReferenceConfigBase.java | 405 | 48 | 15 | 966.0 | |
| dubbo-common/src/main/java/org/apache/dubbo/common/config/ConfigurationUtils.java | 504 | 43 | 13 | 965.3 | |
| dubbo-common/src/main/java/org/apache/dubbo/config/ServiceConfigBase.java | 460 | 45 | 12 | 965.1 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/migration/MigrationInvoker.java | 582 | 40 | 10 | 965.0 | |
| dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java | 424 | 45 | 21 | 926.6 | |
| dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DubboInvoker.java | 199 | 65 | 20 | 916.9 | |
| dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/deploy/DefaultModuleDeployer.java | 678 | 35 | 11 | 911.3 | |
| dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/RouterChain.java | 246 | 58 | 13 | 909.7 | |
| dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/report/support/AbstractMetadataReport.java | 608 | 36 | 19 | 887.7 | |
| .github/workflows/build-and-test-scheduled-3.2.yml | 516 | 39 | 6 | 885.9 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/DynamicDirectory.java | 404 | 44 | 12 | 884.4 | |
| dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/support/RpcUtils.java | 323 | 49 | 18 | 880.6 | |
| dubbo-rpc/dubbo-rpc-injvm/src/main/java/org/apache/dubbo/rpc/protocol/injvm/InjvmInvoker.java | 356 | 46 | 11 | 867.9 | |
| dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DubboCodec.java | 348 | 46 | 18 | 858.1 | |
| dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/bootstrap/DubboBootstrapTest.java | 577 | 35 | 12 | 840.7 | |
| dubbo-configcenter/dubbo-configcenter-nacos/src/main/java/org/apache/dubbo/configcenter/support/nacos/NacosDynamicConfiguration.java | 397 | 42 | 19 | 836.8 | |
| dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/exchange/support/DefaultFuture.java | 361 | 44 | 22 | 836.0 | |
| dubbo-test/dubbo-test-modules/src/test/java/org/apache/dubbo/dependency/FileTest.java | 820 | 29 | 12 | 830.4 | |
| dubbo-rpc/dubbo-rpc-dubbo/src/main/java/org/apache/dubbo/rpc/protocol/dubbo/DecodeableRpcInvocation.java | 306 | 47 | 18 | 822.2 | |
| dubbo-configcenter/dubbo-configcenter-apollo/src/main/java/org/apache/dubbo/configcenter/support/apollo/ApolloDynamicConfiguration.java | 303 | 47 | 16 | 818.1 | |
| dubbo-remoting/dubbo-remoting-netty4/src/main/java/org/apache/dubbo/remoting/transport/netty4/NettyServer.java | 324 | 45 | 22 | 810.0 | |
| dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/CacheableFailbackRegistry.java | 506 | 36 | 13 | 809.8 | |
| dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/filter/ContextFilter.java | 231 | 53 | 19 | 805.5 | |
| dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/support/wrapper/MockClusterInvokerTest.java | 939 | 26 | 13 | 796.7 | |
| dubbo-remoting/pom.xml | 43 | 120 | 23 | 786.9 | |
| dubbo-rpc/pom.xml | 40 | 124 | 23 | 784.2 | |
| .github/workflows/release-test.yml | 528 | 34 | 7 | 781.3 | |
| dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/transport/AbstractClient.java | 437 | 37 | 21 | 773.5 | |
| .github/workflows/build-and-test-scheduled-3.1.yml | 516 | 34 | 6 | 772.3 | |
| dubbo-registry/pom.xml | 40 | 122 | 20 | 771.6 |
How Apache Dubbo compares with other open source projects from China →
How Apache Dubbo ranks among open source projects from China by AI-assisted commits →
Generate this report for your own repository with gitstats-action · All Gallery reports
Publishes the report to GitHub Pages on every push to main: turn on Pages for the gh-pages branch.
# .github/workflows/gitstats.yml
name: GitStats Report
on:
push:
branches: [main]
permissions:
contents: write
jobs:
gitstats:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- uses: shenxianpeng/gitstats-action@v1
with:
deploy-to-pages: true