Skip to content

Commit 05b09df

Browse files
committed
Add working demoHelper recipe
1 parent e738e63 commit 05b09df

File tree

1 file changed

+83
-33
lines changed

1 file changed

+83
-33
lines changed

recipes/demoHelper.sh

Lines changed: 83 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,90 @@
11
#!/bin/bash
2-
APPLICATIONS=$(../act.sh -E demo2 application list | grep "<name>" | sed "s# *<name>\([^<]*\)</name>#\1#g")
3-
4-
OLDIFS=$IFS
5-
IFS=$'\n'
6-
echo '[Applications]'
7-
for APPLICATION in ${APPLICATIONS}; do
8-
echo "# !hideApplication(${APPLICATION})"
9-
done;
10-
for APPLICATION in ${APPLICATIONS}; do
11-
echo "# ${APPLICATION} = "
12-
done;
13-
14-
APPLICATIONS="ECommerce"
15-
16-
for APPLICATION in ${APPLICATIONS}; do
17-
echo -e '\n[Tiers]'
18-
TIERS=$(../act.sh -E demo2 tier list -a $APPLICATION | grep "<name>" | sed "s# *<name>\([^<]*\)</name>#\1#g")
19-
for TIER in ${TIERS}; do
20-
echo "# ${TIER} = ";
2+
ACT_ENV="${1}"
3+
APPLICATION_ID="${2}"
4+
5+
function get_header() {
6+
cat << EOF
7+
[Options]
8+
@include[] = /^https?://.*\.appdynamics\.com(:[0-9]+)?/.*$/
9+
@namespace[] = appdynamics
10+
EOF
11+
}
12+
13+
function get_applications() {
14+
echo -e "\n[Applications]"
15+
APPLICATIONS=$(../act.sh -Q -E "${ACT_ENV}" application list | jq -r 'to_entries[] | [.value.id, .value.name] | @tsv')
16+
17+
IFS=$'\n'
18+
for APPLICATION in ${APPLICATIONS} ; do
19+
ID=${APPLICATION%%$'\t'*}
20+
NAME=${APPLICATION##*$'\t'}
21+
echo ";${NAME} = "
22+
done;
23+
for APPLICATION in ${APPLICATIONS} ; do
24+
ID=${APPLICATION%%$'\t'*}
25+
NAME=${APPLICATION##*$'\t'}
26+
echo ";!hideApplication(${NAME}) = "
2127
done;
22-
echo -e '\n[Business Transactions]'
23-
BTS=$(../act.sh -E demo2 bt list -a $APPLICATION | grep "<name>" | sed "s# *<name>\([^<]*\)</name>#\1#g")
24-
for BT in ${BTS}; do
25-
if [ "${BT}" != "_APPDYNAMICS_DEFAULT_TX_" ] ; then
26-
echo "# !hideBT(${BT})";
28+
}
29+
30+
function get_bts() {
31+
echo -e "\n[Business Transactions]"
32+
BTS=$(../act.sh -Q -E "${ACT_ENV}" bt list -a ${APPLICATION_ID} | jq -r 'to_entries[] | [.value.id, .value.name] | @tsv')
33+
34+
IFS=$'\n'
35+
for BT in ${BTS} ; do
36+
ID=${BT%%$'\t'*}
37+
NAME=${BT##*$'\t'}
38+
if [ ${NAME} != '_APPDYNAMICS_DEFAULT_TX_' ] ; then
39+
echo ";${NAME} = "
2740
fi;
2841
done;
29-
for BT in ${BTS}; do
30-
if [ "${BT}" != "_APPDYNAMICS_DEFAULT_TX_" ] ; then
31-
echo "# ${BT} = ";
42+
for BT in ${BTS} ; do
43+
ID=${BT%%$'\t'*}
44+
NAME=${BT##*$'\t'}
45+
if [ ${NAME} != '_APPDYNAMICS_DEFAULT_TX_' ] ; then
46+
echo ";!hideBT(${NAME}) = "
3247
fi;
3348
done;
34-
echo -e '\n[Backends]'
35-
BACKENDS=$(../act.sh -E demo2 backend list -a $APPLICATION | grep "<name>" | sed "s# *<name>\([^<]*\)</name>#\1#g")
36-
for BACKEND in ${BACKENDS}; do
37-
echo "# ${BACKEND} = ";
49+
}
50+
51+
function get_flowmap() {
52+
../act.sh -E "${ACT_ENV}" flowmap application -a ${1} -t last_2_hours.BEFORE_NOW.-1.-1.720
53+
}
54+
55+
function get_nodes() {
56+
echo -e "\n[Flowmap.Nodes]"
57+
NODES=$(echo "${1}" | jq -r '.nodes | .[] | [.name,.idNum] | @tsv')
58+
IFS=$'\n'
59+
for NODE in ${NODES} ; do
60+
NAME=${NODE%%$'\t'*}
61+
ID=${NODE##*$'\t'}
62+
# echo ${ID}
63+
echo ";${NAME} = "
3864
done;
39-
done;
40-
IFS=$OLDIFS
65+
}
66+
67+
function get_node_name() {
68+
echo -e "${1}" | jq -r ".nodes | .[] | select(.id == \"${2}\") | .name"
69+
}
70+
71+
function get_connections() {
72+
echo -e '\n[Flowmap.Edges]'
73+
CONNECTIONS=$(echo "${1}" | jq -r '.edges | .[] | [.sourceNode, .targetNode] | @tsv')
74+
IFS=$'\n'
75+
for CONNECTION in $CONNECTIONS ; do
76+
SOURCE=${CONNECTION%%$'\t'*}
77+
TARGET=${CONNECTION##*$'\t'}
78+
echo ";!replaceFlowMapConnection($(get_node_name "${1}" "${SOURCE}"), $(get_node_name "${1}" "${TARGET}")) ="
79+
done;
80+
}
81+
82+
83+
FLOWMAP=$(get_flowmap ${APPLICATION_ID})
84+
85+
86+
get_header
87+
get_applications
88+
get_nodes "${FLOWMAP}"
89+
get_connections "${FLOWMAP}"
90+
get_bts

0 commit comments

Comments
 (0)