Skip to content

Instantly share code, notes, and snippets.

View siddontang's full-sized avatar
🏠
Working from home

siddontang siddontang

🏠
Working from home
  • PingCAP
  • SunnyVale
View GitHub Profile
#!/usr/bin/python
import sys
def parse():
if len(sys.argv) != 2:
print 'must pass memory trace file'
sys.exit(2)
file_name = sys.argv[1]
package main
import (
"bufio"
"bytes"
"fmt"
"os"
"sort"
"strconv"
"strings"
package main
import (
"database/sql"
"flag"
"fmt"
"math/rand"
"os"
"sync"
"time"
@siddontang
siddontang / tikv_metric_grasper.go
Created March 18, 2018 14:51
Get all TiKV stores from PD, then get all metrics of TiKVs and return to Prometheus
package main
import (
"bytes"
"context"
"fmt"
"os"
"sort"
"github.com/golang/protobuf/proto"
#![feature(test)]
extern crate test;
extern crate parking_lot;
extern crate crossbeam_channel;
use std::collections::VecDeque;
use test::Bencher;
use std::sync::mpsc::{channel, sync_channel};
@siddontang
siddontang / tgkill.c
Created February 11, 2018 09:13
A simple implementation for tgkill
#include <unistd.h>
#include <stdio.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/signal.h>
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
// List common use signal names
static const struct signal_name {
package main
import (
"context"
"encoding/binary"
"flag"
"fmt"
"math/rand"
"net/http"
_ "net/http/pprof"
#![feature(test)]
#![feature(integer_atomics)]
extern crate test;
extern crate libc;
use std::f64;
use std::sync::atomic::{AtomicU64 as StdAtomicU64, Ordering};
pub struct AtomicF64 {
#![feature(fnbox)]
extern crate spin;
use std::usize;
use std::time::{Duration, Instant};
use std::sync::{Arc, Condvar, Mutex};
use std::thread::{Builder, JoinHandle};
use std::marker::PhantomData;
use std::boxed::FnBox;
#![feature(fnbox)]
use std::usize;
use std::time::{Duration, Instant};
use std::sync::{Arc, Condvar, Mutex};
use std::thread::{Builder, JoinHandle};
use std::marker::PhantomData;
use std::boxed::FnBox;
use std::collections::VecDeque;
use std::sync::atomic::{AtomicUsize, Ordering as AtomicOrdering};