-
C Extensions for Python
In other words, we can write python methods in pure C.
-
Embedding Python a
The reasons for doing #1 are obvious because we can make speed improvements. For #2, it is due to transporting Python libraries over to C.
# Sandbox k6 example for basic testing when I was migrating an on-prem client application to AWS | |
# `k6 run benchmark.js` | |
import http from 'k6/http'; | |
import { check, sleep } from 'k6'; | |
export let options = { | |
vus: 1, | |
// duration: "60s" | |
iterations: 5, |
""" | |
How to compare 2 csv files such that I can identify: | |
* Added/Modified/Removed Rows but know specifically which header changed | |
There are two ways to look at diffs: | |
1. Line-by-line diffs | |
Line-by-line diffs are dumb and can't tell what a "Modified" item is. | |
2. Diffs with primary keys. |
import re | |
text_list = [ | |
"P1:field1", | |
"P1:field2" | |
"P2:field1" | |
"P2:field2", | |
"P3:field1", | |
"P3:field2", | |
"P4:field1", | |
"P5:field1", |
-- Get Postgres Summary | |
-- | |
create or replace function | |
count_rows(schema text, tablename text) returns integer | |
as | |
$body$ | |
declare | |
result integer; | |
query varchar; | |
begin |
# HELP go_gc_duration_seconds A summary of the GC invocation durations. | |
# TYPE go_gc_duration_seconds summary | |
go_gc_duration_seconds{quantile="0"} 0.000244 | |
go_gc_duration_seconds{quantile="0.25"} 0.000316201 | |
go_gc_duration_seconds{quantile="0.5"} 0.0003472 | |
go_gc_duration_seconds{quantile="0.75"} 0.000413601 | |
go_gc_duration_seconds{quantile="1"} 0.010038708 | |
go_gc_duration_seconds_sum 0.740180276 | |
go_gc_duration_seconds_count 1456 | |
# HELP go_goroutines Number of goroutines that currently exist. |
Because bytes tend to be longer, we'll want to use hex style mapping to represent bits. We know that hexadecimal is base 16 and bits are base 2 which translates to 4 bits = 1 hex.
Here's an example of why we want this case. If you have 16 bits, it looks like: 000011111111 but 0xFF is easier to read.
Here's a list of mapping for wanting only 1 bits: 0 -> 0x0 1 -> 0x1
# rs.initiate() is playing 2 roles: | |
# * required for my local mongo setup | |
# * it can also be used to test a connection but you can use almost any other evaluation command. | |
# The command below runs a mongo check in a loop and times out after a minute. | |
# Why not use "wait-for-it.sh"? That establishes a tcp connection check but you could still run into a connection error | |
# if you run a single mongo connection check so we still need to loop. | |
timeout -v 1m bash -c 'until docker exec -it mongo mongo --eval "rs.initiate()"; do sleep 3; done' |
docker build -f Dockerfile.xe -t oracle/database:11.2.0.2-xe .
docker run -d -e ORACLE_PWD=oracle --shm-size="1g" -p 1521:1521 -p 8080:8080 oracle/database:11.2.0.2-xe
(More details on --shm-size
: oracle/docker-images#458)