In [1]:
names = ["Dharu", "Sonia", "Jana", "Caro", "Ariel", "David"]
Out[1]:
6-element Vector{String}:
 "Dharu"
 "Sonia"
 "Jana"
 "Caro"
 "Ariel"
 "David"
In [2]:
using Random
In [4]:
shuffle(names)
Out[4]:
6-element Vector{String}:
 "Caro"
 "Dharu"
 "Ariel"
 "David"
 "Jana"
 "Sonia"
In [15]:
using CSV, DataFrames, DataFramesMeta, Dates
In [41]:
mem = DataFrame(CSV.File("mem.tsv"; delim = "\t"));
cpu = DataFrame(CSV.File("cpu.tsv"; delim = "\t"))
Out[41]:

346,230 rows × 10 columns (omitted printing of 2 columns)

hostnameintervaltimestampCPU%user%nice%system%iowait
StringInt64StringInt64Float64Float64Float64Float64
1gaia2602024-03-01 09:45:27 UTC-11.050.02.620.09
2gaia2602024-03-01 09:46:27 UTC-11.330.02.920.16
3gaia2602024-03-01 09:47:27 UTC-11.470.02.980.16
4gaia2602024-03-01 09:48:27 UTC-11.650.03.250.09
5gaia2602024-03-01 09:49:27 UTC-11.050.02.420.06
6gaia2602024-03-01 09:50:27 UTC-11.380.02.220.06
7gaia2602024-03-01 09:51:27 UTC-11.270.01.260.05
8gaia2602024-03-01 09:52:27 UTC-11.020.01.10.05
9gaia2602024-03-01 09:53:27 UTC-11.060.01.090.06
10gaia2602024-03-01 09:54:27 UTC-11.390.02.440.08
11gaia2602024-03-01 09:55:27 UTC-11.030.02.420.07
12gaia2602024-03-01 09:56:27 UTC-11.70.02.850.12
13gaia2602024-03-01 09:57:27 UTC-11.780.02.820.13
14gaia2602024-03-01 09:58:27 UTC-11.210.01.250.06
15gaia2602024-03-01 09:59:27 UTC-11.030.01.080.06
16gaia2602024-03-01 10:00:27 UTC-11.020.00.980.08
17gaia2602024-03-01 10:01:27 UTC-11.090.00.990.05
18gaia2602024-03-01 10:02:27 UTC-11.010.01.060.06
19gaia2602024-03-01 10:03:27 UTC-11.10.01.120.06
20gaia2602024-03-01 10:04:27 UTC-11.570.02.480.09
21gaia2602024-03-01 10:05:27 UTC-13.620.07.150.06
22gaia2602024-03-01 10:06:27 UTC-115.90.025.30.03
23gaia2602024-03-01 10:07:27 UTC-12.660.04.90.14
24gaia2602024-03-01 10:08:27 UTC-11.050.02.630.15
25gaia2602024-03-01 10:09:27 UTC-11.410.01.660.07
26gaia2602024-03-01 10:10:27 UTC-11.010.01.210.06
27gaia2602024-03-01 10:11:27 UTC-11.030.00.980.08
28gaia2602024-03-01 10:12:27 UTC-11.010.00.910.05
29gaia2602024-03-01 10:13:27 UTC-11.250.01.140.1
30gaia2602024-03-01 10:14:27 UTC-12.230.02.730.11
⋮⋮⋮⋮⋮⋮⋮⋮⋮
In [37]:
mem.timestamp = DateTime.(split.(mem.timestamp, " ")[1:2], "yyyy-mm-dd HH:MM:SS")
MethodError: no method matching Int64(::Vector{SubString{String}})

Closest candidates are:
  Int64(::Float64)
   @ Base float.jl:905
  Int64(::Float32)
   @ Base float.jl:905
  Int64(::Float16)
   @ Base float.jl:905
  ...


Stacktrace:
 [1] DateTime(y::Vector{SubString{String}}, m::String, d::Int64, h::Int64, mi::Int64, s::Int64, ms::Int64, ampm::Dates.AMPM)
   @ Dates /ext/julia/julia-1.10.0/share/julia/stdlib/v1.10/Dates/src/types.jl:401
 [2] _broadcast_getindex_evalf
   @ Base.Broadcast ./broadcast.jl:709 [inlined]
 [3] _broadcast_getindex
   @ Base.Broadcast ./broadcast.jl:682 [inlined]
 [4] getindex
   @ Base.Broadcast ./broadcast.jl:636 [inlined]
 [5] copy
   @ Base.Broadcast ./broadcast.jl:942 [inlined]
 [6] materialize(bc::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, Type{DateTime}, Tuple{Vector{Vector{SubString{String}}}, Base.RefValue{String}}})
   @ Base.Broadcast ./broadcast.jl:903
 [7] top-level scope
   @ In[37]:1
In [38]:
split.(mem.timestamp, " ")[1:2]
Out[38]:
2-element Vector{Vector{SubString{String}}}:
 ["2024-03-01", "09:45:27", "UTC"]
 ["2024-03-01", "09:46:27", "UTC"]
In [42]:
mem.timestamp = chop.(mem.timestamp, tail = 4)
mem
Out[42]:

346,229 rows × 14 columns (omitted printing of 7 columns)

hostnameintervaltimestampkbmemfreekbavailkbmemused%memused
StringInt64SubStri…Int64Int64Int64Float64
1gaia2602024-03-01 09:45:271370371522300751163100307611.74
2gaia2602024-03-01 09:46:271380419122310808323000240011.36
3gaia2602024-03-01 09:47:271380061242310458123002447611.37
4gaia2602024-03-01 09:48:271379588722309994483007109611.39
5gaia2602024-03-01 09:49:271379091882309503363012016811.41
6gaia2602024-03-01 09:50:271370792242301204563094618811.72
7gaia2602024-03-01 09:51:271370447562300864683098126811.73
8gaia2602024-03-01 09:52:271370603802301024363096731611.73
9gaia2602024-03-01 09:53:271370613722301052323097286811.73
10gaia2602024-03-01 09:54:271370461802300904923098765211.74
11gaia2602024-03-01 09:55:271370826562301277923094998411.72
12gaia2602024-03-01 09:56:271370140322300602123102937611.75
13gaia2602024-03-01 09:57:271370107602300584923101990411.75
14gaia2602024-03-01 09:58:271370017682300498683102859211.75
15gaia2602024-03-01 09:59:271370247122300728643100557611.74
16gaia2602024-03-01 10:00:271370134002300620603101619611.75
17gaia2602024-03-01 10:01:271370288762300781923100002411.74
18gaia2602024-03-01 10:02:271370057122300558563102235611.75
19gaia2602024-03-01 10:03:271370084082300590163101893611.75
20gaia2602024-03-01 10:04:271369716122300227923105444811.76
21gaia2602024-03-01 10:05:271368502322299018043115617211.8
22gaia2602024-03-01 10:06:271366686642297215083126553611.84
23gaia2602024-03-01 10:07:271367829442298363363114186811.79
24gaia2602024-03-01 10:08:271368544442299092883106889211.77
25gaia2602024-03-01 10:09:271368975482299531723102582411.75
26gaia2602024-03-01 10:10:271368766442299324323104618811.76
27gaia2602024-03-01 10:11:271368857402299417403103717211.75
28gaia2602024-03-01 10:12:271369045042299611403101763611.75
29gaia2602024-03-01 10:13:271368492562299065443107337611.77
30gaia2602024-03-01 10:14:271368129522298702483110912811.78
⋮⋮⋮⋮⋮⋮⋮⋮
In [43]:
mem.timestamp = DateTime.(mem.timestamp, "yyyy-mm-dd HH:MM:SS")
Out[43]:
346229-element Vector{DateTime}:
 2024-03-01T09:45:27
 2024-03-01T09:46:27
 2024-03-01T09:47:27
 2024-03-01T09:48:27
 2024-03-01T09:49:27
 2024-03-01T09:50:27
 2024-03-01T09:51:27
 2024-03-01T09:52:27
 2024-03-01T09:53:27
 2024-03-01T09:54:27
 2024-03-01T09:55:27
 2024-03-01T09:56:27
 2024-03-01T09:57:27
 ⋮
 2024-03-29T10:09:05
 2024-03-29T10:10:05
 2024-03-29T10:11:05
 2024-03-29T10:12:05
 2024-03-29T10:13:05
 2024-03-29T10:14:05
 2024-03-29T10:15:05
 2024-03-29T10:16:05
 2024-03-29T10:17:05
 2024-03-29T10:18:05
 2024-03-29T10:19:05
 2024-03-29T10:20:05
In [44]:
mem
Out[44]:

346,229 rows × 14 columns (omitted printing of 7 columns)

hostnameintervaltimestampkbmemfreekbavailkbmemused%memused
StringInt64DateTimeInt64Int64Int64Float64
1gaia2602024-03-01T09:45:271370371522300751163100307611.74
2gaia2602024-03-01T09:46:271380419122310808323000240011.36
3gaia2602024-03-01T09:47:271380061242310458123002447611.37
4gaia2602024-03-01T09:48:271379588722309994483007109611.39
5gaia2602024-03-01T09:49:271379091882309503363012016811.41
6gaia2602024-03-01T09:50:271370792242301204563094618811.72
7gaia2602024-03-01T09:51:271370447562300864683098126811.73
8gaia2602024-03-01T09:52:271370603802301024363096731611.73
9gaia2602024-03-01T09:53:271370613722301052323097286811.73
10gaia2602024-03-01T09:54:271370461802300904923098765211.74
11gaia2602024-03-01T09:55:271370826562301277923094998411.72
12gaia2602024-03-01T09:56:271370140322300602123102937611.75
13gaia2602024-03-01T09:57:271370107602300584923101990411.75
14gaia2602024-03-01T09:58:271370017682300498683102859211.75
15gaia2602024-03-01T09:59:271370247122300728643100557611.74
16gaia2602024-03-01T10:00:271370134002300620603101619611.75
17gaia2602024-03-01T10:01:271370288762300781923100002411.74
18gaia2602024-03-01T10:02:271370057122300558563102235611.75
19gaia2602024-03-01T10:03:271370084082300590163101893611.75
20gaia2602024-03-01T10:04:271369716122300227923105444811.76
21gaia2602024-03-01T10:05:271368502322299018043115617211.8
22gaia2602024-03-01T10:06:271366686642297215083126553611.84
23gaia2602024-03-01T10:07:271367829442298363363114186811.79
24gaia2602024-03-01T10:08:271368544442299092883106889211.77
25gaia2602024-03-01T10:09:271368975482299531723102582411.75
26gaia2602024-03-01T10:10:271368766442299324323104618811.76
27gaia2602024-03-01T10:11:271368857402299417403103717211.75
28gaia2602024-03-01T10:12:271369045042299611403101763611.75
29gaia2602024-03-01T10:13:271368492562299065443107337611.77
30gaia2602024-03-01T10:14:271368129522298702483110912811.78
⋮⋮⋮⋮⋮⋮⋮⋮
In [45]:
cpu.timestamp = chop.(cpu.timestamp, tail = 4)
cpu.timestamp = DateTime.(cpu.timestamp, "yyyy-mm-dd HH:MM:SS")
Out[45]:
346230-element Vector{DateTime}:
 2024-03-01T09:45:27
 2024-03-01T09:46:27
 2024-03-01T09:47:27
 2024-03-01T09:48:27
 2024-03-01T09:49:27
 2024-03-01T09:50:27
 2024-03-01T09:51:27
 2024-03-01T09:52:27
 2024-03-01T09:53:27
 2024-03-01T09:54:27
 2024-03-01T09:55:27
 2024-03-01T09:56:27
 2024-03-01T09:57:27
 ⋮
 2024-03-29T10:09:05
 2024-03-29T10:10:05
 2024-03-29T10:11:05
 2024-03-29T10:12:05
 2024-03-29T10:13:05
 2024-03-29T10:14:05
 2024-03-29T10:15:05
 2024-03-29T10:16:05
 2024-03-29T10:17:05
 2024-03-29T10:18:05
 2024-03-29T10:19:05
 2024-03-29T10:20:05
In [47]:
using Plots
  No Changes to `~/.julia/environment/v1.10/Project.toml`
  No Changes to `~/.julia/environment/v1.10/Manifest.toml`
[ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]
In [50]:
plot(mem[:,7])
Out[50]:
In [65]:
histogram(Date.(mem.timestamp[mem[:,7].>98]))
Out[65]:
In [58]:
mem.timestamp[end]
Out[58]:
2024-03-29T10:20:05
In [59]:
mem.timestamp[1]
Out[59]:
2024-03-01T09:45:27
In [61]:
max_day_mem = unique(Date.(mem.timestamp[mem[:,7].>98]))
Out[61]:
2-element Vector{Date}:
 2024-03-05
 2024-03-01
In [63]:
max_day_cpu = unique(Date.(cpu.timestamp[cpu[:,8].>98]))
Out[63]:
Date[]
In [64]:
cpu
Out[64]:

346,230 rows × 10 columns (omitted printing of 2 columns)

hostnameintervaltimestampCPU%user%nice%system%iowait
StringInt64DateTimeInt64Float64Float64Float64Float64
1gaia2602024-03-01T09:45:27-11.050.02.620.09
2gaia2602024-03-01T09:46:27-11.330.02.920.16
3gaia2602024-03-01T09:47:27-11.470.02.980.16
4gaia2602024-03-01T09:48:27-11.650.03.250.09
5gaia2602024-03-01T09:49:27-11.050.02.420.06
6gaia2602024-03-01T09:50:27-11.380.02.220.06
7gaia2602024-03-01T09:51:27-11.270.01.260.05
8gaia2602024-03-01T09:52:27-11.020.01.10.05
9gaia2602024-03-01T09:53:27-11.060.01.090.06
10gaia2602024-03-01T09:54:27-11.390.02.440.08
11gaia2602024-03-01T09:55:27-11.030.02.420.07
12gaia2602024-03-01T09:56:27-11.70.02.850.12
13gaia2602024-03-01T09:57:27-11.780.02.820.13
14gaia2602024-03-01T09:58:27-11.210.01.250.06
15gaia2602024-03-01T09:59:27-11.030.01.080.06
16gaia2602024-03-01T10:00:27-11.020.00.980.08
17gaia2602024-03-01T10:01:27-11.090.00.990.05
18gaia2602024-03-01T10:02:27-11.010.01.060.06
19gaia2602024-03-01T10:03:27-11.10.01.120.06
20gaia2602024-03-01T10:04:27-11.570.02.480.09
21gaia2602024-03-01T10:05:27-13.620.07.150.06
22gaia2602024-03-01T10:06:27-115.90.025.30.03
23gaia2602024-03-01T10:07:27-12.660.04.90.14
24gaia2602024-03-01T10:08:27-11.050.02.630.15
25gaia2602024-03-01T10:09:27-11.410.01.660.07
26gaia2602024-03-01T10:10:27-11.010.01.210.06
27gaia2602024-03-01T10:11:27-11.030.00.980.08
28gaia2602024-03-01T10:12:27-11.010.00.910.05
29gaia2602024-03-01T10:13:27-11.250.01.140.1
30gaia2602024-03-01T10:14:27-12.230.02.730.11
⋮⋮⋮⋮⋮⋮⋮⋮⋮
In [0]: