Skip to content

Commit

Permalink
sample config data
Browse files Browse the repository at this point in the history
  • Loading branch information
gaetancollaud committed Feb 5, 2024
1 parent 5a3f3ad commit 32ce9c9
Show file tree
Hide file tree
Showing 4 changed files with 136 additions and 0 deletions.
28 changes: 28 additions & 0 deletions config/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
const fs = require('fs');
const query = fs.readFileSync('queries.graphql', 'utf8');
const pricing_rules = JSON.parse(fs.readFileSync('pricing-rules.json', 'utf8'));

const host = "http://localhost:8080/graphql";

async function sendRequest(operationName, variables) {
return fetch(host, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Basic YWRtaW46a3B3eDA2S3NRMlNiaTdUcDJOMmw="
},
body: JSON.stringify({operationName, query, variables}),
})
.then(r => r.json())
.then(data => console.log(JSON.stringify(data, null, 2)))
}


pricing_rules.forEach(async row => {
console.log('updating rule for the metric ', row.metricName);
await sendRequest("saveRule", row);
});

console.log('done updating');
sendRequest("pricingRules", {});
11 changes: 11 additions & 0 deletions config/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"name": "kafka-cost-control-sample-data",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"author": "",
"license": "ISC"
}
78 changes: 78 additions & 0 deletions config/pricing-rules.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
[
{
"metricName": "confluent_kafka_server_response_bytes",
"baseCost": 0.0,
"costFactor": 0,
"type": "transfer",
"comment": "not used"
},
{
"metricName": "confluent_kafka_server_sent_bytes",
"baseCost": 0.0,
"costFactor": 0.00000000010058284,
"type": "transfer",
"comment": "based on $0.108 / GB"
},
{
"metricName": "confluent_kafka_server_request_bytes",
"baseCost": 0.0,
"costFactor": 0.0,
"type": "transfer",
"comment": "not used"
},
{
"metricName": "confluent_kafka_server_received_bytes",
"baseCost": 0.0,
"costFactor": 0.00000000004703484,
"type": "transfer",
"comment": "based on $0.048 / GB"
},
{
"metricName": "confluent_kafka_server_received_records",
"baseCost": 0.0,
"costFactor": 0.0
},
{
"metricName": "confluent_kafka_server_request_count",
"baseCost": 0.0,
"costFactor": 0.0
},
{
"metricName": "confluent_kafka_server_partition_count",
"baseCost": 0.0,
"costFactor": 0.0,
"comment": "based on 1$ per month"
},
{
"metricName": "confluent_kafka_server_successful_authentication_count",
"baseCost": 0.0,
"costFactor": 0.0
},
{
"metricName": "confluent_kafka_server_consumer_lag_offsets",
"baseCost": 0.0,
"costFactor": 0.0
},
{
"metricName": "confluent_kafka_server_sent_records",
"baseCost": 0.0,
"costFactor": 0.0
},
{
"metricName": "confluent_kafka_server_retained_bytes",
"baseCost": 0.0,
"costFactor": 0.00000000000012293458,
"type": "storage",
"comment": "based on $0.000132 / GB-hour "
},
{
"metricName": "confluent_kafka_server_active_connection_count",
"baseCost": 0.0,
"costFactor": 0.0
},
{
"metricName": "confluent_kafka_server_cluster_load_percent",
"baseCost": 0.0,
"costFactor": 0.0
}
]
19 changes: 19 additions & 0 deletions config/queries.graphql
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
mutation saveRule($metricName: String!, $baseCost: Float!, $costFactor: Float!) {
savePricingRule(
request: {metricName: $metricName, baseCost: $baseCost, costFactor: $costFactor}
) {
creationTime
metricName
baseCost
costFactor
}
}

query pricingRules{
pricingRules{
creationTime
metricName
baseCost
costFactor
}
}

0 comments on commit 32ce9c9

Please sign in to comment.