@Override
  public Set<Dependency<Serializable, Thread>> getHeldResources(Thread[] allThreads) {

    InternalDistributedSystem ds = InternalDistributedSystem.getAnyInstance();
    if (ds == null) {
      return Collections.emptySet();
    }
    Set<Dependency<Serializable, Thread>> results = new HashSet<>();

    Map<String, DLockService> services = DLockService.snapshotAllServices();
    for (Map.Entry<String, DLockService> entry : services.entrySet()) {
      String serviceName = entry.getKey();
      DLockService service = entry.getValue();
      Map<Object, DLockToken> tokens = service.snapshotService();
      for (Map.Entry<Object, DLockToken> tokenEntry : tokens.entrySet()) {
        Object tokenName = tokenEntry.getKey();
        DLockToken token = tokenEntry.getValue();
        synchronized (token) {
          Thread holdingThread = token.getThread();
          if (holdingThread != null) {
            results.add(
                new Dependency(new LockId(serviceName, (Serializable) tokenName), holdingThread));
          }
        }
      }
    }

    return results;
  }
Report dependencies on dlocks that exist in theis VM.
geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/DLockDependencyMonitor.java