Skip to content

Redo traffic level algorithm #536

Open
@pushcx

Description

@pushcx

I was in production.log this morning as I banned a returning spammer and decided to check on a hunch that's been growing in my mind about the traffic level that determines the color of the site logo (see ApplicationController#increase_traffic_counter):

$ grep -ho 'Traffic level: .*' log/production.log* | sort -bn --key=3 | uniq -c
      2 Traffic level: 7
      6 Traffic level: 8
     10 Traffic level: 9
      6 Traffic level: 10
      4 Traffic level: 11
      1 Traffic level: 12
      2 Traffic level: 13
      1 Traffic level: 14
      1 Traffic level: 15
      4 Traffic level: 16
      5 Traffic level: 17
      1 Traffic level: 18
      2 Traffic level: 19
      2 Traffic level: 20
      1 Traffic level: 21
      1 Traffic level: 22
      2 Traffic level: 23
      2 Traffic level: 24
      7 Traffic level: 25
      9 Traffic level: 26
     10 Traffic level: 27
      6 Traffic level: 28
     10 Traffic level: 29
      8 Traffic level: 30
      4 Traffic level: 31
     13 Traffic level: 32
      5 Traffic level: 33
      1 Traffic level: 34
      3 Traffic level: 35
      6 Traffic level: 36
      8 Traffic level: 37
     12 Traffic level: 38
      6 Traffic level: 39
     11 Traffic level: 40
     15 Traffic level: 41
      9 Traffic level: 42
      4 Traffic level: 43
      3 Traffic level: 44
      5 Traffic level: 45
      1 Traffic level: 46
      1 Traffic level: 47
      7 Traffic level: 48
      9 Traffic level: 49
     14 Traffic level: 50
     16 Traffic level: 51
     19 Traffic level: 52
      5 Traffic level: 53
      3 Traffic level: 54
      3 Traffic level: 55
      3 Traffic level: 56
      3 Traffic level: 57
      4 Traffic level: 58
      1 Traffic level: 59
     12 Traffic level: 60
     19 Traffic level: 61
     15 Traffic level: 62
      9 Traffic level: 63
      9 Traffic level: 64
      8 Traffic level: 65
      7 Traffic level: 66
      8 Traffic level: 67
     15 Traffic level: 68
      7 Traffic level: 69
      2 Traffic level: 70
      3 Traffic level: 71
      7 Traffic level: 72
     17 Traffic level: 73
     12 Traffic level: 74
      5 Traffic level: 75
      3 Traffic level: 76
      5 Traffic level: 77
     15 Traffic level: 78
     24 Traffic level: 79
     43 Traffic level: 80
     31 Traffic level: 81
     37 Traffic level: 82
     19 Traffic level: 83
     11 Traffic level: 84
     27 Traffic level: 85
     49 Traffic level: 86
     82 Traffic level: 87
    131 Traffic level: 88
    173 Traffic level: 89
    292 Traffic level: 90
    471 Traffic level: 91
    766 Traffic level: 92
   1222 Traffic level: 93
   1945 Traffic level: 94
   3211 Traffic level: 95
   5529 Traffic level: 96
  10516 Traffic level: 97
  21634 Traffic level: 98
  57246 Traffic level: 99
 119360 Traffic level: 100

This is not a useful distribution, we're spending nearly all day at 97-100%. Weekday traffic follows the American workday with pretty sharp divisions as the east coast wakes up and west coast falls asleep. The intensity algorithm doesn't reflect this, let alone account for days where traffic is genuinely higher than other days because we got twitter/yc news sending a flood our way. Maybe even this should only be based on logged-in users, to spare the db hit on every visit? Maybe there's thoughts in the git history?

I haven't thought at all about a better approach, just wanted to toss this up in the hopes someone wants a fun puzzle.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions