Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
1a61771
Set the version to 8.0
kmgowda Oct 26, 2025
bdfc9de
Add new metric parameter : percentileLatencyCounts
kmgowda Oct 26, 2025
1a386dd
Add the percentile counts to CSV logger.
kmgowda Oct 26, 2025
d8eeaec
Get the password from SBK_GEM_SSH_PASSWD for SBK GEM.
kmgowda Oct 26, 2025
a365d12
typos
kmgowda Oct 26, 2025
d9ea720
rename docker-compose to docker compose
kmgowda Oct 26, 2025
c6f5b6d
Add metrics for latency count values.
kmgowda Oct 26, 2025
fe9c44d
Update SBK dash board with label.
kmgowda Oct 26, 2025
d4fb712
remove all dashboards except sbk-dashboard.json
kmgowda Oct 26, 2025
95fa9e8
Disable generate dashboards gradle task.
kmgowda Oct 26, 2025
ad8edec
Update grafana dashboard
kmgowda Oct 28, 2025
fa3717c
Fix all the warnings.
kmgowda Oct 31, 2025
0405cac
Add documentation to Perl package.
kmgowda Oct 31, 2025
52a5fe4
Update the documentation.
kmgowda Oct 31, 2025
4c47c42
Upgrade the gradle version.
kmgowda Nov 1, 2025
492ecbf
fix the gradle 9 build warnings.
kmgowda Nov 1, 2025
5fecec4
Update grafanam, prometheus and gradle docker images.
kmgowda Nov 1, 2025
454ffc1
update grafana docker and micrometer versions.
kmgowda Nov 1, 2025
b053ff3
Update the protobuf and grpc versions.
kmgowda Nov 1, 2025
3bf708c
Add error message for sbk-gem
kmgowda Nov 1, 2025
c6ee706
Improve the documentation
kmgowda Nov 1, 2025
82c8edd
Add the documentation to perl
kmgowda Nov 1, 2025
916a511
Add the documentation to SBK logger.
kmgowda Nov 1, 2025
f8ed1f0
Add documentation of sbk params.
kmgowda Nov 1, 2025
c430112
Add the documentation to sbk-gem module.
kmgowda Nov 1, 2025
f8ac081
add the documentation to sbm package.
kmgowda Nov 1, 2025
53dac60
Fix the compile error
kmgowda Nov 1, 2025
8818142
Add the gradle dependency update checks.
kmgowda Nov 1, 2025
a5a759f
Add the package depedency update tracking
kmgowda Nov 2, 2025
7bf926e
update the dependencies and depriciate the warnings.
kmgowda Nov 2, 2025
78a3c7f
Add the appach cli to sbk-api
kmgowda Nov 2, 2025
b9816ac
remove the deprecation and adjust the printhelp
kmgowda Nov 2, 2025
0bd0224
Update docs.
kmgowda Nov 2, 2025
dd88334
Fix the missing override of elastic ride.
kmgowda Nov 4, 2025
1886da1
Fix the dependency gradle call.
kmgowda Nov 4, 2025
0da8d62
dependecy package update.
kmgowda Nov 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -391,14 +391,14 @@ As an example, just follow the below steps to see the performance graphs
1. In the SBK directory build the 'SBK' service of the [docker compose](docker-compose.yml) file as follows.

```
<SBK dir>% docker-compose -f ./docker-compose-sbk-grafana.yml build
<SBK dir>% docker compose -f ./docker-compose-sbk-grafana.yml build

```

1. Run the 'SBK' service as follows.

```
<SBK dir>% docker-compose run sbk -class concurrentq -writers 1 -readers 5 -size 1000 -seconds 120
<SBK dir>% docker compose run sbk -class concurrentq -writers 1 -readers 5 -size 1000 -seconds 120

```

Expand Down
38 changes: 30 additions & 8 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ buildscript {
}
}
dependencies {
classpath group: 'com.github.spotbugs.snom', name: 'spotbugs-gradle-plugin', version: spotbugsPluginVersion
classpath group: 'gradle.plugin.com.palantir.graal', name: 'gradle-graal', version: graalvmPluginVersion
classpath group: 'com.google.cloud.tools.jib', name: 'com.google.cloud.tools.jib.gradle.plugin', version: jibVersion
classpath "com.github.spotbugs.snom:spotbugs-gradle-plugin:$spotbugsPluginVersion"
classpath "gradle.plugin.com.palantir.graal:gradle-graal:$graalvmPluginVersion"
classpath "com.google.cloud.tools.jib:com.google.cloud.tools.jib.gradle.plugin:$jibVersion"
// classpath group: 'org.hidetake', name:'gradle-ssh-plugin', version: sshPluginVersion
//classpath group: 'ru.vyarus', name:'gradle-mkdocs-plugin', version: mkdocsPluginVersion
}
Expand All @@ -37,8 +37,14 @@ buildscript {

plugins {
id 'org.jreleaser' version "${jReleaserPluginVersion}"
id 'com.github.ben-manes.versions' version "${gradleVersionsPluginVersion}"
}

/*
* to get the dependency for the drivers : ./gradlew dependencyUpdates -Drevision=release --no-parallel -PincludeDriversDeps=true
*/
def includeDriversDeps = (project.findProperty('includeDrivers') ?: 'false').toString().toBoolean()

def SbkMainClass = "io.sbk.main.SbkMain"

gradle.rootProject {
Expand Down Expand Up @@ -114,6 +120,20 @@ allprojects {
}
}

if (it.project == rootProject) {
// Ensure the task is disabled for root project
tasks.matching { it.name == 'dependencyUpdates' }.configureEach { enabled = false }
} else if (project.path.startsWith(':drivers')) {
if (includeDriversDeps) {
apply plugin: 'com.github.ben-manes.versions'
} else {
// Ensure the task is disabled if applied elsewhere
tasks.matching { it.name == 'dependencyUpdates' }.configureEach { enabled = false }
}
} else {
apply plugin: 'com.github.ben-manes.versions'
}

application {
mainClass = SbkMainClass
applicationName = sbkProjectName
Expand Down Expand Up @@ -186,17 +206,18 @@ allprojects {
}
}

/*
tasks.register('generateDashboards', Copy) {
if (project.path.startsWith(":drivers")) {
def outDir = 'build/dashboard'
def outFile = sbkProjectName + "-" + sbkVersion + ".json"
def sbkClassName = sbkClass.toLowerCase().capitalize()

/*
call with parameter
./gradlew generateDashboards -Poutdir="/Users/kmg/projects/SBK/grafana/dashboards"
to generate dashboard files on single folder
*/

// call with parameter
// ./gradlew generateDashboards -Poutdir="/Users/kmg/projects/SBK/grafana/dashboards"
// to generate dashboard files on single folder

if (project.hasProperty("outdir")) {
outDir = outdir
outFile = sbkProjectName + ".json"
Expand All @@ -212,6 +233,7 @@ allprojects {
}
}
}
*/

tasks.register('generateDockerfiles') {
def driversToSkip = ["sbk-api", "perl", "sbm", "sbk-gem", "drivers", "sbk-yal", "sbk-gem-yal"]
Expand Down
2 changes: 1 addition & 1 deletion docker-compose-sbk-hub.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
version: '3'
services:
prometheus:
image: prom/prometheus:v3.3.0
image: prom/prometheus:v3.7.3
container_name: prometheus
hostname: prometheus
volumes:
Expand Down
2 changes: 1 addition & 1 deletion docker-compose-static-ip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
version: '3'
services:
prometheus:
image: prom/prometheus:v3.3.0
image: prom/prometheus:v3.7.3
volumes:
- ./grafana/prometheus:/etc/prometheus
command:
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
version: '3'
services:
prometheus:
image: prom/prometheus:v3.3.0
image: prom/prometheus:v3.7.3
container_name: prometheus
hostname: prometheus
volumes:
Expand Down
2 changes: 1 addition & 1 deletion driver-docker-template
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
##

# Building Container
FROM gradle:8.13.0-jdk-21 as SbkGradleBuilder
FROM gradle:9.2.0-jdk-21 as SbkGradleBuilder
MAINTAINER Keshava Munegowda <keshava.gowda@gmail.com>
USER root

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public ActivemqWriter(int writerID, ParameterOptions params, ActivemqConfig conf
}

@Override
public CompletableFuture writeAsync(String data) throws IOException {
public CompletableFuture<?> writeAsync(String data) throws IOException {
try {
this.producer.send(config.session.createTextMessage(data));
} catch (JMSException ex) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public void failed(Throwable exc, ByteBuffer attachment) {


@Override
public CompletableFuture writeAsync(ByteBuffer data) throws IOException {
public CompletableFuture<?> writeAsync(ByteBuffer data) throws IOException {
try {
out.write(data.asReadOnlyBuffer(), pos).get();
} catch (InterruptedException | ExecutionException ex) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public CassandraWriter(int writerID, ParameterOptions params,


@Override
public CompletableFuture writeAsync(String data) throws IOException {
public CompletableFuture<?> writeAsync(String data) throws IOException {
StringBuilder sb = new StringBuilder("INSERT INTO ")
.append(config.keyspace).append(".").append(config.table).append(" (id, data) ")
.append("VALUES (").append(UUID.randomUUID())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class CqReader implements Reader<byte[]> {
final private static int PARK_NS = NS_PER_MS;
private final Queue<byte[]> queue;

public CqReader(Queue queue) throws IOException {
public CqReader(Queue<byte[]> queue) throws IOException {
this.queue = queue;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@
public class CqWriter implements Writer<byte[]> {
private Queue<byte[]> queue;

public CqWriter(Queue queue) throws IOException {
public CqWriter(Queue<byte[]> queue) throws IOException {
this.queue = queue;
}

@Override
public CompletableFuture writeAsync(byte[] data) throws IOException {
public CompletableFuture<?> writeAsync(byte[] data) throws IOException {
queue.add(data);
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public CouchbaseWriter(int writerID, ParameterOptions params, CouchbaseConfig co
}

@Override
public CompletableFuture writeAsync(String data) throws IOException {
public CompletableFuture<?> writeAsync(String data) throws IOException {
collection.upsert(Long.toString(key++), data);
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,18 @@
*/
public class CouchDBReader implements Reader<String> {
final private CouchDbConnector db;
final private ParameterOptions params;
private long key;
private int cnt;

public CouchDBReader(int id, ParameterOptions params, CouchDBConfig config, CouchDbConnector db) throws IOException {
this.key = CouchDB.generateStartKey(id);
this.cnt = 0;
this.params = params;
this.db = db;
}

@Override
public String read() throws EOFException, IOException {
String k = Long.toString(key);
try {
Map<String, Object> map = db.get(Map.class, k);
Map<?, ?> map = db.get(Map.class, k);
if (map != null) {
key++;
return (String) map.get("data");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public CouchDBWriter(int id, ParameterOptions params, CouchDBConfig config, Couc
}

@Override
public CompletableFuture writeAsync(String data) throws IOException {
public CompletableFuture<?> writeAsync(String data) throws IOException {
// fill the map
Map<String, Object> map = new HashMap<String, Object>();
map.put("data", data);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
public class DynamodbReader implements Reader<byte[]> {

private DynamoDbClient ddb;
final private ParameterOptions params;
@SuppressWarnings("unused")
private final ParameterOptions params;

private DynamodbConfig config;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public DynamodbWriter(int writerID, ParameterOptions params, DynamodbConfig conf
}

@Override
public CompletableFuture writeAsync(byte[] data) throws IOException {
public CompletableFuture<?> writeAsync(byte[] data) throws IOException {
HashMap<String, AttributeValue> itemValues = new HashMap<>();
itemValues.put("key", AttributeValue.builder().s(Long.toString(key++)).build());
itemValues.put("data", AttributeValue.builder().b(SdkBytes.fromByteArray(data)).build());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,14 @@ public ElasticsearchReader(int readerId, ParameterOptions params, ElasticsearchC
}

@Override
@SuppressWarnings("unchecked")
public String read() throws IOException {
try {
GetRequest request = GetRequest.of(g -> g
.index(config.index.trim())
.id(String.valueOf(id++))
);
GetResponse<Map> response = client.get(request, Map.class);
GetResponse<Map<String, Object>> response = client.get(request, (Class<Map<String, Object>>) (Class<?>) Map.class);
return response.fields().toString();
} catch (ElasticsearchException e) {
Printer.log.error("Elastic Search: recordRead failed !");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public ElasticsearchWriter(int writerID, ParameterOptions params, ElasticsearchC
}

@Override
public CompletableFuture writeAsync(String data) throws IOException {
public CompletableFuture<?> writeAsync(String data) throws IOException {
try {
writeData(data);
} catch (ElasticsearchException ex ) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ public class FdbRecordMultiReader implements Reader<ByteString> {
final private FDBDatabase db;
final private Function<FDBRecordContext, FDBRecordStore> recordStoreProvider;
private long key;
private long cnt;
@SuppressWarnings("unused")
private int cnt;

public FdbRecordMultiReader(int id, ParameterOptions params, FDBDatabase db,
Function<FDBRecordContext, FDBRecordStore> recordStoreProvider) throws IOException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ public class FdbRecordMultiWriter implements Writer<ByteString> {
final private FDBDatabase db;
final private Function<FDBRecordContext, FDBRecordStore> recordStoreProvider;
private long key;
@SuppressWarnings("unused")
private int cnt;

public FdbRecordMultiWriter(int id, ParameterOptions params, FDBDatabase db,
Expand All @@ -43,7 +44,7 @@ public FdbRecordMultiWriter(int id, ParameterOptions params, FDBDatabase db,
}

@Override
public CompletableFuture writeAsync(ByteString data) throws IOException {
public CompletableFuture<?> writeAsync(ByteString data) throws IOException {
key++;
return db.run(context -> {
FDBRecordStore recordStore = recordStoreProvider.apply(context);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ public class FdbRecordWriter implements Writer<ByteString> {
final private Function<FDBRecordContext, FDBRecordStore> recordStoreProvider;
private long key;

@SuppressWarnings("unused")
private int cnt;

public FdbRecordWriter(int id, ParameterOptions params, FDBDatabase db,
Function<FDBRecordContext, FDBRecordStore> recordStoreProvider) throws IOException {
this.key = FdbRecord.generateStartKey(id);
Expand All @@ -36,7 +39,7 @@ public FdbRecordWriter(int id, ParameterOptions params, FDBDatabase db,
}

@Override
public CompletableFuture writeAsync(ByteString data) throws IOException {
public CompletableFuture<?> writeAsync(ByteString data) throws IOException {
final long startKey = key++;
return db.run(context -> {
FDBRecordStore recordStore = recordStoreProvider.apply(context);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public void recordWrite(DataType<ByteBuffer> dType, ByteBuffer data, int size, T


@Override
public CompletableFuture writeAsync(ByteBuffer data) throws IOException {
public CompletableFuture<?> writeAsync(ByteBuffer data) throws IOException {
final ByteBuffer buffer = data.asReadOnlyBuffer();
out.write(buffer);
return null;
Expand Down
2 changes: 2 additions & 0 deletions drivers/file/src/test/java/io/sbk/driver/File/FileTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ public void testCreateReaderFileNotFound() {
}

// This test case works only if the append mode is disabled
@SuppressWarnings("null")
@Test
public void testWriterReaderData() {
final String data = "KMG-SBK";
Expand Down Expand Up @@ -285,6 +286,7 @@ public void testWriterReaderData() {
}

// This test case works only if the append mode is disabled
@SuppressWarnings("null")
@Test
public void testReaderEOF() {
final String data = "KMG-SBK";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public void recordWrite(DataType<byte[]> dType, byte[] data, int size, Time time
}

@Override
public CompletableFuture writeAsync(byte[] data) throws IOException {
public CompletableFuture<?> writeAsync(byte[] data) throws IOException {
out.write(data);
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public void recordWrite(DataType<byte[]> dType, byte[] data, int size, Time time
}

@Override
public CompletableFuture writeAsync(byte[] data) throws IOException {
public CompletableFuture<?> writeAsync(byte[] data) throws IOException {
out.write(data);
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public FoundationDBMultiKeyWriter(int id, ParameterOptions params, FoundationDBC
}

@Override
public CompletableFuture writeAsync(byte[] data) throws IOException {
public CompletableFuture<?> writeAsync(byte[] data) throws IOException {
final long startKey = key++;
return db.run(tr -> {
tr.set(Tuple.from(startKey).pack(), data);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public FoundationDBWriter(int id, ParameterOptions params, FoundationDBConfig co
}

@Override
public CompletableFuture writeAsync(byte[] data) throws IOException {
public CompletableFuture<?> writeAsync(byte[] data) throws IOException {
final long startKey = key++;
return db.run(tr -> {
tr.set(Tuple.from(startKey).pack(), data);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public void recordWrite(DataType<byte[]> dType, byte[] data, int size, Time time
}

@Override
public CompletableFuture writeAsync(byte[] data) throws IOException {
public CompletableFuture<?> writeAsync(byte[] data) throws IOException {
out.write(data);
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ public class IgniteClientTransactionReader implements Reader<byte[]> {
private final ClientCache<Long, byte[]> cache;
private final IgniteClient client;
private long key;
private long cnt;
@SuppressWarnings("unused")
private int cnt;

public IgniteClientTransactionReader(int id, ParameterOptions params, ClientCache<Long, byte[]> cache,
IgniteClient client) throws IOException {
Expand Down
Loading