| 179 | } |
| 180 | |
| 181 | func (hc *HealthyChecker) LogProxyStats() { |
| 182 | var format string |
| 183 | var wpid int |
| 184 | for _, p := range hc.Proxy.Models { |
| 185 | wpid = math2.MaxInt(wpid, len(strconv.Itoa(p.Id))) |
| 186 | } |
| 187 | format += fmt.Sprintf("proxy-%%0%dd [T] %%s", wpid) |
| 188 | |
| 189 | var waddr1, waddr2 int |
| 190 | for _, p := range hc.Proxy.Models { |
| 191 | waddr1 = math2.MaxInt(waddr1, len(p.AdminAddr)) |
| 192 | waddr2 = math2.MaxInt(waddr2, len(p.ProxyAddr)) |
| 193 | } |
| 194 | format += fmt.Sprintf(" [A] %%-%ds", waddr1) |
| 195 | format += fmt.Sprintf(" [P] %%-%ds", waddr2) |
| 196 | |
| 197 | for _, p := range hc.Proxy.Models { |
| 198 | switch hc.pstatus[p.Token] { |
| 199 | case CodeMissing: |
| 200 | log.Warnf("[?] "+format, p.Id, p.Token, p.AdminAddr, p.ProxyAddr) |
| 201 | case CodeError: |
| 202 | log.Warnf("[E] "+format, p.Id, p.Token, p.AdminAddr, p.ProxyAddr) |
| 203 | case CodeTimeout: |
| 204 | log.Warnf("[T] "+format, p.Id, p.Token, p.AdminAddr, p.ProxyAddr) |
| 205 | default: |
| 206 | log.Infof("[ ] "+format, p.Id, p.Token, p.AdminAddr, p.ProxyAddr) |
| 207 | } |
| 208 | } |
| 209 | } |
| 210 | |
| 211 | func (hc *HealthyChecker) LogGroupStats() { |
| 212 | var format string |