/** * Creates a new instance of {@link RateLimiterExports} with specified metrics names prefix and * {@link Iterable} of rate limiters. * * @param prefix the prefix of metrics names * @param rateLimiters the rate limiters */ public static RateLimiterExports ofIterable(String prefix, Iterable<RateLimiter> rateLimiters) { return new RateLimiterExports(prefix, rateLimiters); }
/** * Creates a new instance of {@link RateLimiterExports} with default metrics names prefix and * {@link Supplier} of rate limiters * * @param rateLimitersSupplier the supplier of rate limiters */ public static RateLimiterExports ofSupplier(Supplier<Iterable<RateLimiter>> rateLimitersSupplier) { return new RateLimiterExports(DEFAULT_NAME, rateLimitersSupplier); }
/** * Creates a new instance of {@link RateLimiterExports} with default metrics names prefix and * {@link Iterable} of rate limiters. * * @param rateLimiters the rate limiters */ public static RateLimiterExports ofIterable(Iterable<RateLimiter> rateLimiters) { return new RateLimiterExports(rateLimiters); }
/** * Creates a new instance of {@link RateLimiterExports} with specified metrics names prefix and * {@link Supplier} of rate limiters * * @param prefix the prefix of metrics names * @param rateLimitersSupplier the supplier of rate limiters */ public static RateLimiterExports ofSupplier(String prefix, Supplier<Iterable<RateLimiter>> rateLimitersSupplier) { return new RateLimiterExports(prefix, rateLimitersSupplier); }
/** * Creates a new instance of {@link RateLimiterExports} with specified metrics names prefix and * {@link RateLimiterRegistry} as a source of rate limiters. * * @param prefix the prefix of metrics names * @param rateLimitersSupplier the registry of rate limiters */ public static RateLimiterExports ofRateLimiterRegistry(String prefix, RateLimiterRegistry rateLimitersSupplier) { return new RateLimiterExports(prefix, rateLimitersSupplier); }
/** * Creates a new instance of {@link RateLimiterExports} with default metrics names prefix and * a rate limiter as a source. * * @param prefix the prefix of metrics names * @param rateLimiter the rate limiter */ public static RateLimiterExports ofRateLimiter(String prefix, RateLimiter rateLimiter) { return new RateLimiterExports(prefix, Array.of(rateLimiter)); }
/** * Creates a new instance of {@link RateLimiterExports} with default metrics names prefix and * a rate limiter as a source. * * @param rateLimiter the rate limiter */ public static RateLimiterExports ofRateLimiter(RateLimiter rateLimiter) { return new RateLimiterExports(Array.of(rateLimiter)); }
/** * Creates a new instance of {@link RateLimiterExports} with default metrics names prefix and * {@link RateLimiterRegistry} as a source of rate limiters. * @param rateLimiterRegistry the registry of rate limiters */ public static RateLimiterExports ofRateLimiterRegistry(RateLimiterRegistry rateLimiterRegistry) { return new RateLimiterExports(rateLimiterRegistry.getAllRateLimiters()); }