Skip to content

Commit 748089e

Browse files
committed
replace broken javadoc button nd link
1 parent 00d4536 commit 748089e

1 file changed

Lines changed: 51 additions & 51 deletions

File tree

README.md

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
[![test](https://github.com/factorhouse/kpow-streams-agent/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/factorhouse/kpow-streams-agent/actions/workflows/test.yml)
22
[![Maven Central](https://img.shields.io/maven-central/v/io.factorhouse/kpow-streams-agent.svg?label=Maven%20Central)](https://central.sonatype.com/artifact/io.factorhouse/kpow-streams-agent)
3-
[![javadoc](https://javadoc.io/badge2/io.factorhouse/kpow-streams-agent/javadoc.svg)](https://javadoc.io/doc/io.factorhouse/kpow-streams-agent)
4-
3+
[![javadoc](https://img.shields.io/badge/javadoc-latest-blue.svg)](https://www.javadocs.dev/io.factorhouse/kpow-streams-agent)
54

65
# Kpow Streams Agent
76

87
This repository contains the Kpow Streams Agent.
98

109
Use this agent to integrate your Kafka Streams applications with Kpow and unlock the following features:
1110

12-
* See summaries of Kafka Streams activity for your Kafka cluster(s).
13-
* Monitor Kafka Streams metrics (e.g Streams State, Stream-Thread, State Store, RocksDB, etc).
14-
* Visualise Kafka Streams topologies in the Kpow Workflows UI.
15-
* Aggregate and Expose Kafka Streams metrics via Kpow [Prometheus Endpoints](https://docs.factorhouse.io/kpow-ee/features/prometheus/) (for alerting, etc).
11+
- See summaries of Kafka Streams activity for your Kafka cluster(s).
12+
- Monitor Kafka Streams metrics (e.g Streams State, Stream-Thread, State Store, RocksDB, etc).
13+
- Visualise Kafka Streams topologies in the Kpow Workflows UI.
14+
- Aggregate and Expose Kafka Streams metrics via Kpow [Prometheus Endpoints](https://docs.factorhouse.io/kpow-ee/features/prometheus/) (for alerting, etc).
1615

1716
See the [Kpow Kafka Streams Feature Guide](https://docs.factorhouse.io/kpow-ee/features/kafka-streams/) for full documentation.
1817

@@ -52,10 +51,10 @@ Include the agent as a dependency in your Kafka Streams application.
5251

5352
In your application, just before you start your KafkaStreams instance:
5453

55-
* Create a new [io.factorhouse.kpow.StreamsRegistry](https://github.com/factorhouse/kpow-streams-agent/blob/main/src/java/io/factorhouse/kpow/StreamsRegistry.java) instance.
56-
* Register your KafkaStreams and Topology instances with the StreamsRegistry.
54+
- Create a new [io.factorhouse.kpow.StreamsRegistry](https://github.com/factorhouse/kpow-streams-agent/blob/main/src/java/io/factorhouse/kpow/StreamsRegistry.java) instance.
55+
- Register your KafkaStreams and Topology instances with the StreamsRegistry.
5756

58-
```java
57+
```java
5958
import io.factorhouse.kpow.StreamsRegistry;
6059
import io.factorhouse.kpow.key.ClusterIdKeyStrategy;
6160

@@ -81,10 +80,10 @@ registry.register(streams, topology, keyStrategy);
8180
streams.start();
8281
```
8382

84-
The StreamsRegistry is a *single-threaded process* that performs these actions **once every minute**:
83+
The StreamsRegistry is a _single-threaded process_ that performs these actions **once every minute**:
8584

86-
* Capture metadata about each registered Kafka Streams application.
87-
* Produce snapshots to the Kpow internal `__oprtr_snapshot_state` topic.
85+
- Capture metadata about each registered Kafka Streams application.
86+
- Produce snapshots to the Kpow internal `__oprtr_snapshot_state` topic.
8887

8988
The StreamsRegistry **does not talk directly to Kpow**. Kpow reads streams data from the snapshot topic.
9089

@@ -111,13 +110,14 @@ If you pass no metric filters to the `StreamsRegistry` constructor then the defa
111110

112111
Kpow's streams agent metric filters work very similar to Micrometer's [meter filters](https://github.com/micrometer-metrics/micrometer-docs/blob/main/src/docs/concepts/meter-filters.adoc).
113112

114-
Metric filters can either `ACCEPT` or `DENY` a metric. The filter itself is a Java predicate which takes in the [org.apache.common.MetricName](https://kafka.apache.org/0110/javadoc/org/apache/kafka/common/MetricName.html#group()) class. This allows you to filter metrics by name, tags or group.
113+
Metric filters can either `ACCEPT` or `DENY` a metric. The filter itself is a Java predicate which takes in the [org.apache.common.MetricName](<https://kafka.apache.org/0110/javadoc/org/apache/kafka/common/MetricName.html#group()>) class. This allows you to filter metrics by name, tags or group.
115114

116115
Metric filters are applied sequentially in the order they are configured in the registry. This allows for stacking of deny and accept filters to create more complex rules:
117116

118117
```java
119118
MetricFilter metricFilter = MetricFilter().acceptNameStartsWith("rocksdb").deny();
120119
```
120+
121121
The above example allows all rocksdb related metrics through and denies all other types of streams metrics.
122122

123123
# Kafka connection
@@ -126,36 +126,36 @@ The `StreamsRegistry` `Properties` contains configuration to create the snapshot
126126

127127
The StreamsRegistry configures its own Serdes on the snapshot producer, you do not need to set them.
128128

129-
Producer configuration means any of the following fields:
130-
131-
* ssl.enabled.protocols
132-
* sasl.client.callback.handler.class
133-
* ssl.endpoint.identification.algorithm
134-
* ssl.provider
135-
* ssl.truststore.location
136-
* ssl.keystore.key
137-
* ssl.key.password
138-
* ssl.protocol
139-
* ssl.keystore.password
140-
* sasl.login.class
141-
* ssl.trustmanager.algorithm
142-
* ssl.keystore.location
143-
* sasl.login.callback.handler.class
144-
* ssl.truststore.certificates
145-
* ssl.cipher.suites
146-
* ssl.truststore.password
147-
* ssl.keymanager.algorithm
148-
* ssl.keystore.type
149-
* ssl.secure.random.implementation
150-
* ssl.truststore.type
151-
* sasl.jaas.config
152-
* ssl.keystore.certificate.chain
153-
* sasl.mechanism
154-
* sasl.oauthbearer.jwks.endpoint.url
155-
* sasl.oauthbearer.token.endpoint.url
156-
* sasl.kerberos.service.name
157-
* security.protocol
158-
* bootstrap.servers
129+
Producer configuration means any of the following fields:
130+
131+
- ssl.enabled.protocols
132+
- sasl.client.callback.handler.class
133+
- ssl.endpoint.identification.algorithm
134+
- ssl.provider
135+
- ssl.truststore.location
136+
- ssl.keystore.key
137+
- ssl.key.password
138+
- ssl.protocol
139+
- ssl.keystore.password
140+
- sasl.login.class
141+
- ssl.trustmanager.algorithm
142+
- ssl.keystore.location
143+
- sasl.login.callback.handler.class
144+
- ssl.truststore.certificates
145+
- ssl.cipher.suites
146+
- ssl.truststore.password
147+
- ssl.keymanager.algorithm
148+
- ssl.keystore.type
149+
- ssl.secure.random.implementation
150+
- ssl.truststore.type
151+
- sasl.jaas.config
152+
- ssl.keystore.certificate.chain
153+
- sasl.mechanism
154+
- sasl.oauthbearer.jwks.endpoint.url
155+
- sasl.oauthbearer.token.endpoint.url
156+
- sasl.kerberos.service.name
157+
- security.protocol
158+
- bootstrap.servers
159159

160160
For more details visit the [Producer](https://kafka.apache.org/documentation/#producerconfigs) section of the Apache Kafka documentation.
161161

@@ -236,7 +236,7 @@ Use a `Properties` with your **primary** cluster configuration to create your St
236236

237237
```java
238238
Properties streamsProps = createMyStreamProperties();
239-
KafkaStreams streams = new KafkaStreams(topology, streamsProps);
239+
KafkaStreams streams = new KafkaStreams(topology, streamsProps);
240240

241241
Properties primaryProps = createMyPrimaryClusterProducerProperties();
242242
StreamsRegistry registry = new StreamsRegistry(primaryProps);
@@ -262,22 +262,22 @@ registry.register(paymentStreams, paymentTopology);
262262
registry.register(dedupeStreams, dedupeTopology);
263263
```
264264

265-
## Troubleshooting
265+
## Troubleshooting
266266

267267
### The Workflows UI is showing "Configure Streams Topology"
268268

269269
This could happen for a few reasons:
270270

271271
1. `register` method has not been called.
272272
2. Invalid connection details passed to `StreamsRegistry` constructor. If this is the case you will see Kafka producer exceptions in the logs of your streams application.
273-
3. Telemetry is still being calculated. After a fresh deployment, it might take up to 2 minutes for initial streams telemetry to be calculated.
273+
3. Telemetry is still being calculated. After a fresh deployment, it might take up to 2 minutes for initial streams telemetry to be calculated.
274274

275275
You can verify `StreamsRegistry` is sending telemetry to your Kafka Cluster by using Data Inspect in Kpow:
276276

277-
* Select topic `__oprtr_snapshot_state`
278-
* Choose `Transit / JSON` as the key deserializer
279-
* Choose `Last 15 minutes` as the window
280-
* Enter the following kJQ filter: `.key[0] == :streams`
277+
- Select topic `__oprtr_snapshot_state`
278+
- Choose `Transit / JSON` as the key deserializer
279+
- Choose `Last 15 minutes` as the window
280+
- Enter the following kJQ filter: `.key[0] == :streams`
281281

282282
![Data Inspect](docs/kpow-data-inspect.png)
283283

@@ -287,6 +287,6 @@ If you have any issues contact [support@factorhouse.io](mailto:support@factorhou
287287

288288
# Copyright and License
289289

290-
Copyright © 2021-2024 Factor House Pty Ltd.
290+
Copyright © 2021-2024 Factor House Pty Ltd.
291291

292292
Distributed under the Apache-2.0 License, the same as Apache Kafka.

0 commit comments

Comments
 (0)