rda-python-metrics 1.0.5__tar.gz → 1.0.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of rda-python-metrics might be problematic. Click here for more details.

Files changed (56) hide show
  1. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/PKG-INFO +1 -1
  2. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/pyproject.toml +1 -1
  3. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillosdfusage.py +3 -3
  4. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillrdadb.py +2 -0
  5. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/logarch.py +38 -1
  6. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/logarch.usg +3 -1
  7. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics.egg-info/PKG-INFO +1 -1
  8. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/LICENSE +0 -0
  9. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/MANIFEST.in +0 -0
  10. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/README.md +0 -0
  11. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/setup.cfg +0 -0
  12. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/PgIPInfo.py +0 -0
  13. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/PgView.py +0 -0
  14. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/__init__.py +0 -0
  15. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillawsusage.py +0 -0
  16. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillawsusage.usg +0 -0
  17. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillcodusage.py +0 -0
  18. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillcodusage.usg +0 -0
  19. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillcountry.py +0 -0
  20. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillendtime.py +0 -0
  21. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillglobususage.py +0 -0
  22. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillglobususage.usg +0 -0
  23. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillipinfo.py +0 -0
  24. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillipinfo.usg +0 -0
  25. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/filloneorder.py +0 -0
  26. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/filloneorder.usg +0 -0
  27. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillosdfusage.usg +0 -0
  28. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/fillrdadb.usg +0 -0
  29. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/filltdsusage.py +0 -0
  30. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/filltdsusage.usg +0 -0
  31. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/filluser.py +0 -0
  32. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/filluser.usg +0 -0
  33. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/pgperson.py +0 -0
  34. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/pgusername.py +0 -0
  35. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewallusage.py +0 -0
  36. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewallusage.usg +0 -0
  37. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewcheckusage.py +0 -0
  38. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewcheckusage.usg +0 -0
  39. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewcodusage.py +0 -0
  40. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewcodusage.usg +0 -0
  41. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewordusage.py +0 -0
  42. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewordusage.usg +0 -0
  43. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewrqstusage.py +0 -0
  44. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewrqstusage.usg +0 -0
  45. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewtdsusage.py +0 -0
  46. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewtdsusage.usg +0 -0
  47. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewwebfile.py +0 -0
  48. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewwebfile.usg +0 -0
  49. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewwebusage.py +0 -0
  50. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics/viewwebusage.usg +0 -0
  51. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics.egg-info/SOURCES.txt +0 -0
  52. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics.egg-info/dependency_links.txt +0 -0
  53. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics.egg-info/entry_points.txt +0 -0
  54. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics.egg-info/requires.txt +0 -0
  55. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/src/rda_python_metrics.egg-info/top_level.txt +0 -0
  56. {rda_python_metrics-1.0.5 → rda_python_metrics-1.0.7}/tests/test_metrics.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_metrics
3
- Version: 1.0.5
3
+ Version: 1.0.7
4
4
  Summary: RDA Python Package to gather and view data usage metrics
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-metrics
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "rda_python_metrics"
9
- version = "1.0.5"
9
+ version = "1.0.7"
10
10
  authors = [
11
11
  { name="Zaihua Ji", email="zji@ucar.edu" },
12
12
  ]
@@ -23,7 +23,7 @@ from . import PgIPInfo
23
23
 
24
24
  USAGE = {
25
25
  'OSDFTBL' : "wusage",
26
- 'OSDFDIR' : PgLOG.PGLOG["DSSDATA"] + "/work/logs/gridftp/",
26
+ 'OSDFDIR' : PgLOG.PGLOG["DSSDATA"] + "/work/zji/osdflogs/",
27
27
  'OSDFGET' : 'wget -m -nH -np -nd https://pelicanplatform.org/pelican-access-logs/ncar-access-log/',
28
28
  'OSDFLOG' : "{}.log", # YYYY-MM-DD.log
29
29
  }
@@ -95,7 +95,7 @@ def get_log_file_names(option, params, datelimits):
95
95
  else:
96
96
  edate = PgUtil.curdate()
97
97
  pdays = PgUtil.get_weekday(pdate)
98
- if pdays > 0: pdate = PgUtil.adddate(edate, 0, 0, 7-pdays)
98
+ if pdays > 0: pdate = PgUtil.adddate(pdate, 0, 0, 7-pdays)
99
99
  while pdate <= edate:
100
100
  filenames.append(USAGE['OSDFLOG'].format(pdate))
101
101
  pdate = PgUtil.adddate(pdate, 0, 0, 7)
@@ -131,7 +131,7 @@ def fill_osdf_usages(fnames, datelimits):
131
131
  if entcnt%10000 == 0:
132
132
  PgLOG.pglog("{}: {}/{} OSDF log entries processed/records added".format(logfile, entcnt, cntadd), PgLOG.WARNLG)
133
133
 
134
- ms = re.match(r'^\[(\S+)\] \[Objectname:(\/ncar\/rda\/([a-z]\d{6})\/(\S+)\] \[Host:(\S+)\] \[server:(\S+)\] \[Read:(\d+)\]', line)
134
+ ms = re.match(r'^\[(\S+)\] \[Objectname:\/ncar\/rda\/([a-z]\d{6})\/(\S+)\] \[Host:(\S+)\] \[Server:(\S+)\] \[Read:(\d+)\]', line)
135
135
  if not ms: continue
136
136
  size = int(ms.group(6))
137
137
  if size < 100: continue # ignore small files
@@ -101,6 +101,8 @@ def fill_rdadb(option, params):
101
101
  PgLOG.pgsystem("fillglobususage {} {}".format(RDADB['BCKGRND'], filecond), PgLOG.LGWNEM, 5)
102
102
  # fill available AWS web data usages
103
103
  PgLOG.pgsystem("fillawsusage {} {}".format(RDADB['BCKGRND'], filecond), PgLOG.LGWNEM, 5)
104
+ # fill available OSDF web data usages
105
+ PgLOG.pgsystem("fillosdfusage {} {}".format(RDADB['BCKGRND'], filecond), PgLOG.LGWNEM, 5)
104
106
 
105
107
  if RDADB['DOMAIL']: send_email_notice()
106
108
  PgLOG.pglog("End Filling RDADB info at {}".format(PgLOG.current_datetime()), PgLOG.LGWNEM)
@@ -23,16 +23,18 @@ from rda_python_common import PgFile
23
23
  from rda_python_common import PgSIG
24
24
 
25
25
  # the defined options for archiving different logs
26
- WLOG = 0x01 # archive web log
26
+ WLOG = 0x21 # archive web log
27
27
  TLOG = 0x02 # archive tds log
28
28
  DLOG = 0x04 # archive dssdb logs
29
29
  SLOG = 0x08 # append dssdb sub batch logs
30
30
  ALOG = 0x10 # archive AWS web log
31
+ OLOG = 0x20 # archive OSDF web log
31
32
 
32
33
  LOGS = {
33
34
  'OPTION' : 0,
34
35
  'AWSLOG' : PgLOG.PGLOG["TRANSFER"] + "/AWSera5log",
35
36
  'WEBLOG' : PgLOG.PGLOG["DSSDATA"] + "/work/logs/gridftp",
37
+ 'OSDFLOG' : PgLOG.PGLOG["DSSDATA"] + "/zji/osdflogs",
36
38
  'MGTLOG' : "/data/logs",
37
39
  'TDSLOG' : "/data/logs/nginx",
38
40
  'RDALOG' : PgLOG.PGLOG['LOGPATH'],
@@ -70,6 +72,8 @@ def main():
70
72
  LOGS['OPTION'] |= WLOG
71
73
  elif option == "a":
72
74
  LOGS['OPTION'] |= ALOG
75
+ elif option == "o":
76
+ LOGS['OPTION'] |= OLOG
73
77
  elif option == "s":
74
78
  LOGS['OPTION'] |= SLOG
75
79
  elif option == "t":
@@ -91,6 +95,7 @@ def main():
91
95
  if LOGS['OPTION']&SLOG: append_dssdb_sublog()
92
96
  if LOGS['OPTION']&DLOG: archive_dssdb_log()
93
97
  if LOGS['OPTION']&WLOG: archive_web_log(smonth)
98
+ if LOGS['OPTION']&OLOG: archive_osdf_log(smonth)
94
99
  if LOGS['OPTION']&ALOG: archive_aws_log(smonth)
95
100
  if LOGS['OPTION']&TLOG: archive_tds_log(smonth)
96
101
 
@@ -142,6 +147,38 @@ def archive_web_log(smonth):
142
147
  s = 's' if tcnt > 1 else ''
143
148
  PgLOG.pglog("{}: {} globus log{} tarred, gzipped and archived at {}".format(afile, tcnt, s, PgLOG.current_datetime()), PgLOG.LGWNEM)
144
149
 
150
+ #
151
+ # Archive OSDF web log files to LOGS['DECSLOGS']
152
+ #
153
+ def archive_osdf_log(smonth):
154
+
155
+ (yr, mn) = get_year_month(smonth)
156
+ PgFile.change_local_directory(LOGS['DECSLOGS'], PgLOG.LGEREM)
157
+ logpath = LOGS['LOGPATH'] if LOGS['LOGPATH'] else LOGS['OSDFLOG']
158
+ afile = "osdfweb{}-{}.log.tar".format(yr, mn)
159
+ dfile = "./OSDFLOG/{}.gz".format(afile)
160
+ if op.exists(dfile):
161
+ PgLOG.pglog("{}: file exists already under {}, remove it before backup again".format(dfile, LOGS['DECSLOGS']), PgLOG.LGWNEM)
162
+ return
163
+
164
+ if op.exists(afile): PgFile.delete_local_file(afile)
165
+
166
+ logfiles = sorted(glob.glob("{}/{}-{}-??.log".format(logpath, yr, mn)))
167
+ topt = '-cvf'
168
+ tcnt = 0
169
+ for logfile in logfiles:
170
+ lfile = op.basename(logfile)
171
+ tcmd = "tar {} {} -C {} {}".format(topt, afile, logpath, lfile)
172
+ tcnt += PgLOG.pgsystem(tcmd, PgLOG.LGWNEM, 5)
173
+ topt = '-uvf'
174
+
175
+ if tcnt > 0:
176
+ PgLOG.pgsystem("gzip " + afile, PgLOG.LGWNEM, 5)
177
+ afile += '.gz'
178
+ PgFile.move_local_file(dfile, afile, PgLOG.LGWNEM)
179
+ s = 's' if tcnt > 1 else ''
180
+ PgLOG.pglog("{}: {} globus log{} tarred, gzipped and archived at {}".format(afile, tcnt, s, PgLOG.current_datetime()), PgLOG.LGWNEM)
181
+
145
182
  #
146
183
  # Archive AWS web log files to LOGS['DECSLOGS']
147
184
  #
@@ -3,7 +3,7 @@
3
3
  at any time. It checks if the given log files are archived or not and will
4
4
  ignore the ones that are backed up already.
5
5
 
6
- Usage: logarch [-b] [-a] [-d] [-w] [-s] [-t] [-p LogPath] \
6
+ Usage: logarch [-b] [-a] [-d] [-o] [-w] [-s] [-t] [-p LogPath] \
7
7
  [-m YearMonth] [-n]
8
8
 
9
9
  - Option -b, do not display processing info on screen;
@@ -12,6 +12,8 @@
12
12
 
13
13
  - Option -d, archive dssdb log files;
14
14
 
15
+ - Option -o, archive OSDF log files;
16
+
15
17
  - Option -p, provide a LogPath if not the fefault one;
16
18
 
17
19
  - Option -s, append PBS sublog files to common log files;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rda_python_metrics
3
- Version: 1.0.5
3
+ Version: 1.0.7
4
4
  Summary: RDA Python Package to gather and view data usage metrics
5
5
  Author-email: Zaihua Ji <zji@ucar.edu>
6
6
  Project-URL: Homepage, https://github.com/NCAR/rda-python-metrics