Fossil SCM
Add the "Compression Radio" line to the "stat" page.
Commit
9aaad3e799c79b1891e4e2519a49aceb269d19c5
Parent
61ddd63b72f1436…
1 file changed
+14
-3
+14
-3
| --- src/stat.c | ||
| +++ src/stat.c | ||
| @@ -33,30 +33,41 @@ | ||
| 33 | 33 | ** |
| 34 | 34 | ** Show statistics and global information about the repository. |
| 35 | 35 | */ |
| 36 | 36 | void stat_page(void){ |
| 37 | 37 | i64 t; |
| 38 | - int n, m; | |
| 38 | + int n, m, fsize; | |
| 39 | 39 | char zBuf[100]; |
| 40 | 40 | login_check_credentials(); |
| 41 | 41 | if( !g.okRead ){ login_needed(); return; } |
| 42 | 42 | style_header("Repository Statistics"); |
| 43 | 43 | @ <p><table class="label-value"> |
| 44 | 44 | @ <tr><th>Repository Size:</th><td> |
| 45 | - n = file_size(g.zRepositoryName); | |
| 46 | - @ %d(n) bytes | |
| 45 | + fsize = file_size(g.zRepositoryName); | |
| 46 | + @ %d(fsize) bytes | |
| 47 | 47 | @ </td></tr> |
| 48 | 48 | @ <tr><th>Number Of Artifacts:</th><td> |
| 49 | 49 | n = db_int(0, "SELECT count(*) FROM blob"); |
| 50 | 50 | m = db_int(0, "SELECT count(*) FROM delta"); |
| 51 | 51 | @ %d(n-m) complete, %d(m) deltas, %d(n) total |
| 52 | 52 | @ </td></tr> |
| 53 | 53 | if( n>0 ){ |
| 54 | + int a, b; | |
| 54 | 55 | @ <tr><th>Uncompressed Artifact Size:</th><td> |
| 55 | 56 | t = db_int64(0, "SELECT total(size) FROM blob WHERE size>0"); |
| 56 | 57 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", t); |
| 57 | 58 | @ %d((int)(((double)t)/(double)n)) bytes average, %s(zBuf) bytes total |
| 59 | + @ </td></tr> | |
| 60 | + @ <tr><th>Uncompression Ratio:</th><td> | |
| 61 | + if( t/fsize < 5 ){ | |
| 62 | + b = 10; | |
| 63 | + fsize /= 10; | |
| 64 | + }else{ | |
| 65 | + b = 1; | |
| 66 | + } | |
| 67 | + a = t/fsize; | |
| 68 | + @ %d(a):%d(b) | |
| 58 | 69 | @ </td></tr> |
| 59 | 70 | } |
| 60 | 71 | @ <tr><th>Number Of Baselines:</th><td> |
| 61 | 72 | n = db_int(0, "SELECT count(distinct mid) FROM mlink"); |
| 62 | 73 | @ %d(n) |
| 63 | 74 |
| --- src/stat.c | |
| +++ src/stat.c | |
| @@ -33,30 +33,41 @@ | |
| 33 | ** |
| 34 | ** Show statistics and global information about the repository. |
| 35 | */ |
| 36 | void stat_page(void){ |
| 37 | i64 t; |
| 38 | int n, m; |
| 39 | char zBuf[100]; |
| 40 | login_check_credentials(); |
| 41 | if( !g.okRead ){ login_needed(); return; } |
| 42 | style_header("Repository Statistics"); |
| 43 | @ <p><table class="label-value"> |
| 44 | @ <tr><th>Repository Size:</th><td> |
| 45 | n = file_size(g.zRepositoryName); |
| 46 | @ %d(n) bytes |
| 47 | @ </td></tr> |
| 48 | @ <tr><th>Number Of Artifacts:</th><td> |
| 49 | n = db_int(0, "SELECT count(*) FROM blob"); |
| 50 | m = db_int(0, "SELECT count(*) FROM delta"); |
| 51 | @ %d(n-m) complete, %d(m) deltas, %d(n) total |
| 52 | @ </td></tr> |
| 53 | if( n>0 ){ |
| 54 | @ <tr><th>Uncompressed Artifact Size:</th><td> |
| 55 | t = db_int64(0, "SELECT total(size) FROM blob WHERE size>0"); |
| 56 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", t); |
| 57 | @ %d((int)(((double)t)/(double)n)) bytes average, %s(zBuf) bytes total |
| 58 | @ </td></tr> |
| 59 | } |
| 60 | @ <tr><th>Number Of Baselines:</th><td> |
| 61 | n = db_int(0, "SELECT count(distinct mid) FROM mlink"); |
| 62 | @ %d(n) |
| 63 |
| --- src/stat.c | |
| +++ src/stat.c | |
| @@ -33,30 +33,41 @@ | |
| 33 | ** |
| 34 | ** Show statistics and global information about the repository. |
| 35 | */ |
| 36 | void stat_page(void){ |
| 37 | i64 t; |
| 38 | int n, m, fsize; |
| 39 | char zBuf[100]; |
| 40 | login_check_credentials(); |
| 41 | if( !g.okRead ){ login_needed(); return; } |
| 42 | style_header("Repository Statistics"); |
| 43 | @ <p><table class="label-value"> |
| 44 | @ <tr><th>Repository Size:</th><td> |
| 45 | fsize = file_size(g.zRepositoryName); |
| 46 | @ %d(fsize) bytes |
| 47 | @ </td></tr> |
| 48 | @ <tr><th>Number Of Artifacts:</th><td> |
| 49 | n = db_int(0, "SELECT count(*) FROM blob"); |
| 50 | m = db_int(0, "SELECT count(*) FROM delta"); |
| 51 | @ %d(n-m) complete, %d(m) deltas, %d(n) total |
| 52 | @ </td></tr> |
| 53 | if( n>0 ){ |
| 54 | int a, b; |
| 55 | @ <tr><th>Uncompressed Artifact Size:</th><td> |
| 56 | t = db_int64(0, "SELECT total(size) FROM blob WHERE size>0"); |
| 57 | sqlite3_snprintf(sizeof(zBuf), zBuf, "%lld", t); |
| 58 | @ %d((int)(((double)t)/(double)n)) bytes average, %s(zBuf) bytes total |
| 59 | @ </td></tr> |
| 60 | @ <tr><th>Uncompression Ratio:</th><td> |
| 61 | if( t/fsize < 5 ){ |
| 62 | b = 10; |
| 63 | fsize /= 10; |
| 64 | }else{ |
| 65 | b = 1; |
| 66 | } |
| 67 | a = t/fsize; |
| 68 | @ %d(a):%d(b) |
| 69 | @ </td></tr> |
| 70 | } |
| 71 | @ <tr><th>Number Of Baselines:</th><td> |
| 72 | n = db_int(0, "SELECT count(distinct mid) FROM mlink"); |
| 73 | @ %d(n) |
| 74 |