Skip to content

Instantly share code, notes, and snippets.

@sysdig-blog
sysdig-blog / jxm-mbean.java
Created April 23, 2019 17:22
Create MBean and register in the MBean server
import javax.management.*;
import java.lang.management.ManagementFactory;
public class Main {
public static void main(String[] args) {
try {
String programName = (args.length == 0) ? "Java" : args[0];
// Initialize the object
SystemStatus systemStatus = new SystemStatus(programName);
@sysdig-blog
sysdig-blog / jmx-example.java
Created April 23, 2019 17:17
Java JMX code example
public class SystemStatus implements SystemStatusMBean {
private Integer numberOfSecondsRunning;
private String programName;
private Long numberOfUnixSecondsRunning;
private Boolean switchStatus;
private Thread backgroundThread;
public SystemStatus(String programName) {
// First we initialize all the metrics
this.backgroundThread = new Thread();
@sysdig-blog
sysdig-blog / statsd-python.py
Created March 26, 2019 18:02
Python code example using StatsD
import statsd
import time
if __name__ == '__main__':
# Create a new connection for the client
connection = statsd.Connection(
host='127.0.0.1',
port=8125,
sample_rate=1,
)
@sysdig-blog
sysdig-blog / statsd-js.js
Created March 26, 2019 17:51
Javascript code example with StatsD
const SDC = require('statsd-client');
const sdc = new SDC({host: '127.0.0.1'});
setInterval(() => {
const timer = new Date();
// Increment counter by one.
sdc.increment('node.counter');
// Increment counter by 10
@sysdig-blog
sysdig-blog / statsd-go.go
Created March 26, 2019 17:41
StatsD example using Golang
package main
import (
"github.com/quipo/statsd"
"math/rand"
"time"
)
func main() {
rand.Seed(time.Now().Unix())
@sysdig-blog
sysdig-blog / prometheus-metrics-javascript.js
Created March 19, 2019 13:38
Prometheus metrics code instrumentation Javascript
const client = require('prom-client');
const express = require('express');
const server = express();
const register = new client.Registry();
// Probe every 5th second.
const intervalCollector = client.collectDefaultMetrics({prefix: 'node_', timeout: 5000, register});
const counter = new client.Counter({
@sysdig-blog
sysdig-blog / prometheus-metrics-python.py
Created March 19, 2019 13:31
Prometheus metrics code instrumentation in Python
import prometheus_client as prom
import random
import time
req_summary = prom.Summary('python_my_req_example', 'Time spent processing a request')
@req_summary.time()
def process_request(t):
time.sleep(t)
@sysdig-blog
sysdig-blog / prometheus-metrics-java.java
Created March 19, 2019 13:24
Prometheus metrics code instrumentation Java
import io.prometheus.client.Counter;
import io.prometheus.client.Gauge;
import io.prometheus.client.Histogram;
import io.prometheus.client.Summary;
import io.prometheus.client.exporter.HTTPServer;
import java.io.IOException;
import java.util.Random;
public class Main {
@sysdig-blog
sysdig-blog / prometheus-metrics-golang.go
Created March 19, 2019 13:01
Prometheus metrics code instrumentation in Golang
package main
import (
"net/http"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"log"
"time"
"math/rand"