Skip to content

Commit

Permalink
Update statistics workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
jvsguerra committed May 2, 2024
1 parent a57bb58 commit d3951d8
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 22 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/statistics.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,14 +131,14 @@ def plot_last_month(data: Usage) -> None:
ax.set_ylim(ymin, ymax + 1)
ax.yaxis.set_ticks(numpy.arange(ymin, ymax + 10, 10))
ax.tick_params(axis="y", labelsize=15)
ax.set_xlabel(f"{data.today.date().isoformat()}", size=20)
ax.set_xlabel(f"{MONTHS[data.today.month-1]}-{data.today.year}", size=20)
ax.tick_params(axis="x", labelsize=15)
ax.xaxis.set_ticks(numpy.arange(0, number_of_days, 1))

# Legend
ax.legend(loc="upper left", fontsize=20)

plt.savefig(f"{MONTHS[data.today.month-1]}-{data.today.year}-daily.png", dpi=300)
plt.savefig(f"{MONTHS[data.today.month-1]}-{(data.today.year) % 100}-daily.png", dpi=300)


def plot_last_12_months(data: Usage) -> None:
Expand Down Expand Up @@ -261,7 +261,7 @@ def plot_per_year(data: Usage) -> None:
# Legend
ax.legend(loc="upper left", fontsize=20)

plt.savefig(f"{MONTHS[data.today.month-1]}-{data.today.year}-yearly.png", dpi=300)
plt.savefig(f"{MONTHS[data.today.month-1]}-{data.today.year % 100}-yearly.png", dpi=300)


if __name__ == "__main__":
Expand Down
56 changes: 37 additions & 19 deletions .github/workflows/statistics.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,32 @@
name: KVFinder-web service job submission statistics
name: Job submission statistics
on:
schedule:
- cron: '0 0 1 * *'
push:
branches: [master]
workflow_dispatch:

jobs:

data:
name: Get job submission data
name: Produce usage statistics
runs-on: ubuntu-latest

steps:
- name: Get data from the server
- name: Checkout repository
uses: actions/checkout@v4

- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m') >> $GITHUB_OUTPUT"

- name: Get job submission data (usage.txt)
uses: appleboy/[email protected]
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
script: |
echo ${{ secrets.PASSWORD }} | sudo -S su - -c "ls /var/lib/containers/storage/volumes/kvfinder-web-service_kvfinder-jobs/_data -lhrt --time-style=long-iso > /home/${{ secrets.USERNAME }}/usage.txt && ls /var/lib/containers/storage/volumes/kvfinder_web_service_kvfinder-jobs/_data -lhrt --time-style=long-iso >> /home/${{ secrets.USERNAME }}/usage.txt"
scp-copy:
name: Copy job submission data
runs-on: ubuntu-latest
needs: [data]
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Copy job submission data
uses: nicklasfrahm/scp-action@main
with:
Expand All @@ -43,16 +39,38 @@ jobs:
target: ./usage.txt

- name: Run python script to produce usage plots
env:
DATE: ${{ steps.date.outputs.date }}
run: |
pip install -r .github/workflows/requirements.txt
python3 .github/workflows/statistics.py
mkdir usage
mv usage.txt *.png usage/
echo $GITHUB_OUTPUT
mkdir $DATE
mv usage.txt *.png $DATE
tar -czvf ${DATE}.tar.gz $DATE
- name: Send job submission data to the server
uses: nicklasfrahm/scp-action@main
with:
direction: upload
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
insecure_password: ${{ secrets.PASSWORD }}
insecure_ignore_fingerprint: true
source: ${{ steps.date.outputs.date }}.tar.gz
target: ./statistics/${{ steps.date.outputs.date }}.tar.gz

- name: Upload job submission data
uses: actions/upload-artifact@v4
with:
name: usage
path: usage

name: ${{ steps.date.outputs.date }}
path: ${{ steps.date.outputs.date }}

- name: Clean up
uses: appleboy/[email protected]
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
script: |
echo ${{ secrets.PASSWORD }} | sudo -S su - -c "rm /home/${{ secrets.USERNAME }}/usage.txt"

0 comments on commit d3951d8

Please sign in to comment.