metrics.sh/lib/utils/loader.sh

77 lines
1.8 KiB
Bash
Raw Normal View History

#!/bin/sh
2015-03-22 13:22:41 +01:00
get_available_reporters () {
local result
for file in `ls ./reporters/*.sh $CUSTOM_REPORTERS_PATH/*.sh 2>/dev/null`; do
local filename=$(basename $file)
local reporter=${filename%.*}
result=$(echo "$result $reporter")
done
echo $result
}
get_available_metrics () {
local result
for file in `ls ./metrics/*.sh $CUSTOM_METRICS_PATH/*.sh 2>/dev/null`; do
local filename=$(basename $file)
local metric=${filename%.*}
# register metric
result=$(trim "$result $metric")
done
echo $result
}
2015-03-15 21:53:34 +01:00
load_reporter_with_prefix () {
local prefix=$1
2015-03-22 13:22:41 +01:00
local name=$2
local file
for dir in $CUSTOM_REPORTERS_PATH ./reporters; do
if [ -f $dir/$name.sh ]; then
file=$dir/$name.sh
break
fi
done
2015-03-17 20:12:34 +01:00
2015-03-22 13:22:41 +01:00
if [ -z $file ]; then
return 1
fi
local content
2015-03-15 21:53:34 +01:00
content=$(sed \
-e 's/^[[:space:]]*\(defaults[ ]*()[ ]*{\)/'"$prefix"'\1/' \
-e 's/^[[:space:]]*\(start[ ]*()[ ]*{\)/'"$prefix"'\1/' \
2015-03-15 21:53:34 +01:00
-e 's/^[[:space:]]*\(report[ ]*()[ ]*{\)/'"$prefix"'\1/' \
-e 's/^[[:space:]]*\(stop[ ]*()[ ]*{\)/'"$prefix"'\1/' \
2015-03-15 21:48:46 +01:00
-e 's/^[[:space:]]*\(docs[ ]*()[ ]*{\)/'"$prefix"'\1/' $file)
eval "$content"
}
2015-03-15 21:53:34 +01:00
load_metric_with_prefix () {
local prefix=$1
2015-03-22 13:22:41 +01:00
local name=$2
2015-03-15 21:53:34 +01:00
2015-03-22 13:22:41 +01:00
local file
for dir in $CUSTOM_METRICS_PATH ./metrics; do
if [ -f $dir/$name.sh ]; then
file=$dir/$name.sh
break
fi
done
if [ -z $file ]; then
return 1
fi
local content
2015-03-15 21:53:34 +01:00
content=$(sed \
-e 's/^[[:space:]]*\(defaults[ ]*()[ ]*{\)/'"$prefix"'\1/' \
-e 's/^[[:space:]]*\(start[ ]*()[ ]*{\)/'"$prefix"'\1/' \
2015-03-15 21:53:34 +01:00
-e 's/^[[:space:]]*\(collect[ ]*()[ ]*{\)/'"$prefix"'\1/' \
-e 's/^[[:space:]]*\(stop[ ]*()[ ]*{\)/'"$prefix"'\1/' \
2015-03-15 21:48:46 +01:00
-e 's/^[[:space:]]*\(docs[ ]*()[ ]*{\)/'"$prefix"'\1/' $file)
eval "$content"
2015-03-15 21:53:34 +01:00
}