Skip to content

Commit

Permalink
Add event stats
Browse files Browse the repository at this point in the history
  • Loading branch information
almahmoud committed Jul 25, 2024
1 parent e183654 commit cea655a
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 0 deletions.
11 changes: 11 additions & 0 deletions .github/scripts/event_stats.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash
NAMESPACE="$1"
RELEASE="$2"
EVENT="$3"

echo "Stats for $EVENT:"
echo "Total launches: $(kubectl exec -n $NAMESPACE galaxy-$RELEASE-postgres-0 -- bash -c "psql -d galaxy -U galaxydbuser -c \"select count(j.id) from job j where j.tool_id like '%_%$EVENT%';\"" | sed '3q;d' | tr -d ' ')"
echo "Total users: $(kubectl exec -n $NAMESPACE galaxy-$RELEASE-postgres-0 -- bash -c "psql -d galaxy -U galaxydbuser -c \"select count(DISTINCT j.user_id) from job j where j.tool_id like '%_%$EVENT%';\"" | sed '3q;d' | tr -d ' ')"

printf "\nSummary:\n\nTOOL_ID NUM LAUNCHES NUM USERS\n"
kubectl exec -n $NAMESPACE galaxy-$RELEASE-postgres-0 -- bash -c "psql -d galaxy -U galaxydbuser -c \"COPY(SELECT tool_id, COUNT(DISTINCT id) AS num_jobs, COUNT(DISTINCT user_id) AS num_users FROM job GROUP BY tool_id) TO STDOUT;\"" | grep "$EVENT" | sed 's/interactivetool_biocworkshop_//g'
42 changes: 42 additions & 0 deletions .github/workflows/event-stats.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Event stats workflow
on:
repository_dispatch:
types: [eventstats-command]
jobs:
generatestats:
name: Generate stats
runs-on: ubuntu-latest
env:
ISSUE_NUM: ${{ github.event.client_payload.github.payload.issue.number }}
NAMESPACE: gxybioc
RELEASE: gxy
steps:
- uses: actions/checkout@v3

- name: Set defaults for all inputs
id: defs
run: |
EVENTINPUT=${{ github.event.client_payload.slash_command.args.named.event || 'error' }}
echo event=$EVENTINPUT >> $GITHUB_OUTPUT
- name: save kubeconfig
shell: bash
run: mkdir -p ~/.kube && echo "${{ secrets.TEST_KUBECONFIG }}" > ~/.kube/config
- name: Install Kubectl
run: curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" && chmod +x ./kubectl && sudo mv ./kubectl /usr/local/bin/kubectl && kubectl version

- name: Get launch stats
id: stats
run: |
echo 'text<<EOF' >> $GITHUB_OUTPUT
bash .github/scripts/event_stats.sh $NAMESPACE $RELEASE ${{steps.defs.outputs.event}} >> $GITHUB_OUTPUT
echo 'EOF' >> $GITHUB_OUTPUT
- name: Create comment
uses: peter-evans/create-or-update-comment@v3
with:
token: ${{ secrets.PAT }}
issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
body: |
_AUTO-GENERATED RESPONSE_
'${{steps.stats.outputs.text}}'
5 changes: 5 additions & 0 deletions .github/workflows/slash_listener.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ jobs:
reactions: false
config: >
[
{
"command": "eventstats",
"permission": "none",
"issue_type": "issue"
},
{
"command": "stats",
"permission": "none",
Expand Down

0 comments on commit cea655a

Please sign in to comment.