Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Monitoring (RRD) graphs have bugs

    Scheduled Pinned Locked Moved webGUI
    20 Posts 11 Posters 5.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      seidler2547
      last edited by

      @johnpoz:

      what would you hosting provider and or remote sites have to do with your copy of pfsense being 64 or 32bit?  That makes no sense?  Is this pfsense hosted somewhere and your accessing it via internet or something??

      Yes, it's a VMware virtual machine and it's the central hub to all our remote offices.

      It was initially (when 1.2.3 was the most recent version) set up as 32-bit because we thought that's enough. To change it we would need to contact the datacenter admins to change the VM type or to set up a new VM and then replace it. Requires a migration plan etc. for minimal downtime.

      Stefan

      1 Reply Last reply Reply Quote 0
      • johnpozJ
        johnpoz LAYER 8 Global Moderator
        last edited by

        So is the box your testing this from on the same network as the pfsense interface your hitting?  Or is there stuff in between? Are you on some VM on the same layer 2 as the pfsense lan interface that your hitting the webgui from?  Are you at some remote site using proxy to access pfsense wan IP that you allowed??

        An intelligent man is sometimes forced to be drunk to spend time with his fools
        If you get confused: Listen to the Music Play
        Please don't Chat/PM me for help, unless mod related
        SG-4860 24.11 | Lab VMs 2.8, 24.11

        1 Reply Last reply Reply Quote 0
        • jdillardJ
          jdillard
          last edited by

          @seidler2547:

          What else can I do to get to the bottom of this? Anyone wants my RRD files to test with?

          Stefan

          In Chrome you can right click the page and choose "Inspect" and then select the "Console" tab to see if you have any errors.

          1 Reply Last reply Reply Quote 0
          • S
            seidler2547
            last edited by

            Ah, why didn't I think of this before. Thanks for the reminder. This is what I get in Firefox:

            TypeError: n is undefined
            t()
            d3.min.js:1
            draw_graph/status_monitoring.php:998
            Co.text/<()
            d3.min.js:3
            Co.each/<()
            d3.min.js:3
            Y()
            d3.min.js:1
            Co.each()
            d3.min.js:3
            Co.text()
            d3.min.js:3
            n/<()
            d3.min.js:5
            Yl.each/<()
            d3.min.js:5
            Y()
            d3.min.js:1
            Yl.each()
            d3.min.js:5
            n()
            d3.min.js:5
            Co.call()
            d3.min.js:3
            chart/<()
            nv.d3.js:1626
            Yl.each/<()
            d3.min.js:5
            Y()
            d3.min.js:1
            Yl.each()
            d3.min.js:5
            chart()
            nv.d3.js:1610
            Co.call()
            d3.min.js:3
            chart/<()
            nv.d3.js:9569
            Yl.each/<()
            d3.min.js:5
            Y()
            d3.min.js:1
            Yl.each()
            d3.min.js:5
            chart()
            nv.d3.js:9377
            Co.call()
            d3.min.js:3
            draw_graph/status_monitoring.php:1143
            render/renderLoop()
            nv.d3.js:99
            d3.min.js:1:14696
            
            

            Whereas Chrome says:

            
            Uncaught TypeError: Cannot read property 'length' of undefinedt @ d3.min.js:1(anonymous function) @ status_monitoring.php:998arguments.length.each.function.n.textContent @ d3.min.js:3(anonymous function) @ d3.min.js:3Y @ d3.min.js:1Co.each @ d3.min.js:3Co.text @ d3.min.js:3(anonymous function) @ d3.min.js:5(anonymous function) @ d3.min.js:5Y @ d3.min.js:1Yl.each @ d3.min.js:5n @ d3.min.js:5Co.call @ d3.min.js:3(anonymous function) @ nv.d3.js:1626(anonymous function) @ d3.min.js:5Y @ d3.min.js:1Yl.each @ d3.min.js:5chart @ nv.d3.js:1610Co.call @ d3.min.js:3(anonymous function) @ nv.d3.js:9570(anonymous function) @ d3.min.js:5Y @ d3.min.js:1Yl.each @ d3.min.js:5chart @ nv.d3.js:9377Co.call @ d3.min.js:3(anonymous function) @ status_monitoring.php:1147renderLoop @ nv.d3.js:99
            

            Our remote sites (one of which I am at) are connected through OpenVPN in star topology. But I also tested on a Windows VM in the same LAN as the pfSense and it's the same.

            Stefan

            1 Reply Last reply Reply Quote 0
            • F
              fostytou
              last edited by

              I just want to follow up that I'm having the same issue.  2.3 and 2.3.1 seemed to work fine with the new charting system and I was able to play around without issue.  2.3.2 presents itself just the same - I can see the initial graph but if I refresh or update settings it disappears with the length error in chrome with this section underlined:

              =n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=e(r,n,t,0);if(i!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var u=null!=r.Z&&va!==Hn,o=new(u?Hn:va);return"j"in r?o.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),u?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var i,u,o,a=0,l=t.length,c=e.length;l>a;){if(r>=c)return-1;if(i=t.charCodeAt(a++),37===i){if(o=t.charAt(a++),u=C[o in ya?t.charAt(a++):o],!u||(r=u(n,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){N.lastIndex=0;var r=N.exec(t.slice(e));return r?(n.m=E.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,A.c.toString(),t,r)}function l(n,t,r){return e(n,A.x.toString(),t,r)}function c(n,t,r){return e(n,A.X.toString(),t,r)}function f(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var s=n.dateTime,h=n.date,p=n.time,g=n.periods,v=n.days,d=n.shortDays,y=n.months,m=n.shortMonths;t.utc=function(n){function e(n){try{va=Hn;var t=new va;return t._=n,r(t)}finally{va=Date}}var r=t(n);return e.parse=function(n){try{va=Hn;var t=r.parse(n);return t&&t._}finally{va=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ct;var M=ao.map(),x=Vn(v),b=Xn(v),_=Vn(d),w=Xn(d),S=Vn(y),k=Xn(y),N=Vn(m),E=Xn(m);g.forEach(function(n,t){M.set(n.toLowerCase(),t)});var A={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return m[n.getMonth()]},B:function(n){return y[n.getMonth()]},c:t(s),d:function(n,t){return Zn(n.getDate(),t,2)},e:function(n,t){return Zn(n.getDate(),t,2)},H:function(n,t){return Zn(n.getHours(),t,2)},I:function(n,t){return Zn(n.getHours()%12||12,t,2)},j:function(n,t){return Zn(1+ga.dayOfYear(n),t,3)},L:function(n,t){return Zn(n.getMilliseconds(),t,3)},m:function(n,t){return Zn(n.getMonth()+1,t,2)},M:function(n,t){return Zn(n.getMinutes(),t,2)},p:function(n){return g[+(n.getHours()>=12)]},S:function(n,t){return Zn(n.getSeconds(),t,2)},U:function(n,t){return Zn(ga.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Zn(ga.mondayOfYear(n),t,2)},x:t(h),X:t(p),y:function(n,t){return Zn(n.getFullYear()%100,t,2)},Y:function(n,t){return Zn(n.getFullYear()%1e4,t,4)},Z:at,"%":function(){return"%"}},C={a:r,A:i,b:u,B:o,c:a,d:tt,e:tt,H:rt,I:rt,j:et,L:ot,m:nt,M:it,p:f,S:ut,U:Bn,w:$n,W:Wn,x:l,X:c,y:Gn,Y:Jn,Z:Kn,"%":lt};return t}function Zn(n,t,e){var r=0>n?"-":"",i=(r?-n:n)+"",u=i.length;return r+(e>u?new Array(e-u+1).join(t)+i:i)}function Vn(n){return new RegExp("^(?:"+n.map(ao.requote).join("|")+")","i")}function Xn(n){for(var t=new c,e=-1,r=n.length;++e<r;)t.set(n[e].tolowercase(),e);return t}function="" $n(n,t,e){ma.lastindex="0;var" r="ma.exec(t.slice(e,e+1));return" r?(n.w="+r[0],e+r[0].length):-1}function" bn(n,t,e){ma.lastindex="0;var" r?(n.u="+r[0],e+r[0].length):-1}function" wn(n,t,e){ma.lastindex="0;var" jn(n,t,e){ma.lastindex="0;var" r?(n.y="+r[0],e+r[0].length):-1}function" gn(n,t,e){ma.lastindex="0;var" kn(n,t,e){return="" ^[+-]\d{4}$="" .test(t="t.slice(e,e+5))?(n.Z=-t,e+5):-1}function" qn(n){return="" n+(n="">68?1900:2e3)}function nt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function tt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function et(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function rt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function it(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function ut(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ot(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function at(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=xo(t)/60|0,i=xo(t)%60;return e+Zn(r,"0",2)+Zn(i,"0",2)}function lt(n,t,e){Ma.lastIndex=0;var r=Ma.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ct(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var="" e="0,r=n[e];!r[1](t);)r=n[++e];return" r[0](t)}}function="" ft(){}function="" st(n,t,e){var="" r="e.s=n+t,i=r-n,u=r-i;e.t=n-u+(t-i)}function" ht(n,t){n&&wa.hasownproperty(n.type)&&wa[n.type](n,t)}function="" pt(n,t,e){var="" r,i="-1,u=n.length-e;for(t.lineStart();++i<u;)r=n[i],t.point(r[0],r[1],r[2]);t.lineEnd()}function" gt(n,t){var="" vt(){function="" n(n,t){n*="Yo,t=t*Yo/2+Fo/4;var">=0?1:-1,a=o*e,l=Math.cos(t),c=Math.sin(t),f=u*c,s=i*l+f*Math.cos(a),h=f*o*Math.sin(a);ka.add(Math.atan2(h,s)),r=n,i=l,u=c}var t,e,r,i,u;Na.point=function(o,a){Na.point=n,r=(t=o)*Yo,i=Math.cos(a=(e=a)*Yo/2+Fo/4),u=Math.sin(a)},Na.lineEnd=function(){n(t,e)}}function dt(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function yt(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function mt(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function Mt(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function xt(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function bt(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function _t(n){return[Math.atan2(n[1],n[0]),tn(n[2])]}function wt(n,t){return xo(n[0]-t[0])<uo&&xo(n[1]-t[1])<uo}function st(n,t){n*="Yo;var" e="Math.cos(t*=Yo);kt(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function" kt(n,t,e){++ea,ca+="(n-Ca)/Ea,za+=(t-za)/Ea,La+=(e-La)/Ea}function" nt(){function="" n(n,i){n*="Yo;var" u="Math.cos(i*=Yo),o=u*Math.cos(n),a=u*Math.sin(n),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=e*l-r*a)*c+(c=r*o-t*l)*c+(c=t*a-e*o)*c),t*o+e*a+r*l);Aa+=c,qa+=c*(t+(t=o)),Ta+=c*(e+(e=a)),Ra+=c*(r+(r=l)),kt(t,e,r)}var" t,e,r;ja.point="function(i,u){i*=Yo;var" o="Math.cos(u*=Yo);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(u),ja.point=n,kt(t,e,r)}}function" et(){ja.point="St}function" at(){function="" n(n,t){n*="Yo;var" t,e,r,i,u;ja.point="function(o,a){t=o,e=a,ja.point=n,o*=Yo;var" l="Math.cos(a*=Yo);r=l*Math.cos(o),i=l*Math.sin(o),u=Math.sin(a),kt(r,i,u)},ja.lineEnd=function(){n(t,e),ja.lineEnd=Et,ja.point=St}}function" ct(n,t){function="" e(e,r){return="" n.invert&&t.invert&&(e.invert="function(e,r){return" zt(){return!0}function="" lt(n,t,e,r,i){var="" t,e="n[0],r=n[t];if(wt(e,r)){i.lineStart();for(var" a="0;t">a;++a)i.point((e=n[a])[0],e[1]);return void i.lineEnd()}var l=new Tt(e,n,null,!0),c=new Tt(e,null,l,!1);l.o=c,u.push(l),o.push(c),l=new Tt(r,n,null,!1),c=new Tt(r,null,l,!0),l.o=c,u.push(l),o.push(c)}}),o.sort(t),qt(u),qt(o),u.length){for(var a=0,l=e,c=o.length;c>a;++a)o[a].e=l=!l;for(var f,s,h=u[0];;){for(var p=h,g=!0;p.v;)if((p=p.n)===h)return;f=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(g)for(var a=0,c=f.length;c>a;++a)i.point((s=f[a])[0],s[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(g){f=p.p.z;for(var a=f.length-1;a>=0;--a)i.point((s=f[a])[0],s[1])}else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,f=p.z,g=!g}while(!p.v);i.lineEnd()}}}function qt(n){if(t=n.length){for(var t,e,r=0,i=n[0];++r<t;)i.n=e=n[r],e.p=i,i=e;i.n=e=n[0],e.p=i}}function tt(n,t,e,r){this.x="n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function" rt(n,t,e,r){return="" function(i,u){function="" o(t,e){var="" r="i(t,e);n(t=r[0],e=r[1])&amp;&amp;u.point(t,e)}function" a(n,t){var="" e="i(n,t);d.point(e[0],e[1])}function" l(){m.point="a,d.lineStart()}function" c(){m.point="o,d.lineEnd()}function" f(n,t){v.push([n,t]);var="" s(){x.linestart(),v="[]}function" h(){f(v[0][0],v[0][1]),x.lineend();var="" n,t="x.clean(),e=M.buffer(),r=e.length;if(v.pop(),g.push(v),v=null,r)if(1&amp;t){n=e[0];var" i,r="n.length-1,o=-1;if(r">0){for(b||(u.polygonStart(),b=!0),u.lineStart();++o<r;)u.point((i=n[o])[0],i[1]);u.lineend()}}else r="">1&&2&t&&e.push(e.pop().concat(e.shift())),p.push(e.filter(Dt))}var p,g,v,d=t(u),y=i.invert(r[0],r[1]),m={point:o,lineStart:l,lineEnd:c,polygonStart:function(){m.point=f,m.lineStart=s,m.lineEnd=h,p=[],g=[]},polygonEnd:function(){m.point=o,m.lineStart=l,m.lineEnd=c,p=ao.merge(p);var n=Ot(y,g);p.length?(b||(u.polygonStart(),b=!0),Lt(p,Ut,n,e,u)):n&&(b||(u.polygonStart(),b=!0),u.lineStart(),e(null,null,1,u),u.lineEnd()),b&&(u.polygonEnd(),b=!1),p=g=null},sphere:function(){u.polygonStart(),u.lineStart(),e(null,null,1,u),u.lineEnd(),u.polygonEnd()}},M=Pt(),x=t(M),b=!1;return m}}function Dt(n){return n.length>1}function Pt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:b,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ut(n,t){return((n=n.x)[0]<0?n[1]-Io-Uo:Io-n[1])-((t=t.x)[0]<0?t[1]-Io-Uo:Io-t[1])}function jt(n){var t,e=NaN,r=NaN,i=NaN;return{lineStart:function(){n.lineStart(),t=1},point:function(u,o){var a=u>0?Fo:-Fo,l=xo(u-e);xo(l-Fo)<uo?(n.point(e,r=(r+o) 2="">0?Io:-Io),n.point(i,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(u,r),t=0):i!==a&&l>=Fo&&(xo(e-i)<uo&&(e-=i*uo),xo(u-a)<uo&&(u-=a*uo),r=ft(e,r,u,o),n.point(i,r),n.lineend(),n.linestart(),n.point(a,r),t=0),n.point(e=u,r=o),i=a},lineend:function(){n.lineend(),e=r=nan},clean:function(){return 2-t}}}function="" ft(n,t,e,r){var="" i,u,o="Math.sin(n-e);return" xo(o)="">Uo?Math.atan((Math.sin(t)*(u=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(t))*Math.sin(n))/(i*u*o)):(t+r)/2}function Ht(n,t,e,r){var i;if(null==n)i=e*Io,r.point(-Fo,i),r.point(0,i),r.point(Fo,i),r.point(Fo,0),r.point(Fo,-i),r.point(0,-i),r.point(-Fo,-i),r.point(-Fo,0),r.point(-Fo,i);else if(xo(n[0]-t[0])>Uo){var u=n[0]<t[0]?fo:-fo;i=e*u 2,r.point(-u,i),r.point(0,i),r.point(u,i)}else="" r.point(t[0],t[1])}function="" ot(n,t){var="" e="n[0],r=n[1],i=[Math.sin(e),-Math.cos(e),0],u=0,o=0;ka.reset();for(var" a="0,l=t.length;l">a;++a){var c=t[a],f=c.length;if(f)for(var s=c[0],h=s[0],p=s[1]/2+Fo/4,g=Math.sin(p),v=Math.cos(p),d=1;;){d===f&&(d=0),n=c[d];var y=n[0],m=n[1]/2+Fo/4,M=Math.sin(m),x=Math.cos(m),b=y-h,_=b>=0?1:-1,w=_*b,S=w>Fo,k=g*M;if(ka.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),u+=S?b+_*Ho:b,S^h>=e^y>=e){var N=mt(dt(s),dt(n));bt(N);var E=mt(i,N);bt(E);var A=(S^b>=0?-1:1)*tn(E[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=y,g=M,v=x,s=n}}return(-Uo>u||Uo>u&&-Uo>ka)^1&o}function It(n){function t(n,t){return Math.cos(n)*Math.cos(t)>u}function e(n){var e,u,l,c,f;return{lineStart:function(){c=l=!1,f=1},point:function(s,h){var p,g=[s,h],v=t(s,h),d=o?v?0:i(s,h):v?i(s+(0>s?Fo:-Fo),h):0;if(!e&&(c=l=v)&&n.lineStart(),v!==l&&(p=r(e,g),(wt(e,p)||wt(g,p))&&(g[0]+=Uo,g[1]+=Uo,v=t(g[0],g[1]))),v!==l)f=0,v?(n.lineStart(),p=r(g,e),n.point(p[0],p[1])):(p=r(e,g),n.point(p[0],p[1]),n.lineEnd()),e=p;else if(a&&e&&o^v){var y;d&u||!(y=r(g,e,!0))||(f=0,o?(n.lineStart(),n.point(y[0][0],y[0][1]),n.point(y[1][0],y[1][1]),n.lineEnd()):(n.point(y[1][0],y[1][1]),n.lineEnd(),n.lineStart(),n.point(y[0][0],y[0][1])))}!v||e&&wt(e,g)||n.point(g[0],g[1]),e=g,l=v,u=d},lineEnd:function(){l&&n.lineEnd(),e=null},clean:function(){return f|(c&&l)<<1}}}function r(n,t,e){var r=dt(n),i=dt(t),o=[1,0,0],a=mt(r,i),l=yt(a,a),c=a[0],f=l-c*c;if(!f)return!e&&n;var s=u*l/f,h=-u*c/f,p=mt(o,a),g=xt(o,s),v=xt(a,h);Mt(g,v);var d=p,y=yt(g,d),m=yt(d,d),M=y*y-m*(yt(g,g)-1);if(!(0>M)){var x=Math.sqrt(M),b=xt(d,(-y-x)/m);if(Mt(b,g),b=_t(b),!e)return b;var _,w=n[0],S=t[0],k=n[1],N=t[1];w>S&&(_=w,w=S,S=_);var E=S-w,A=xo(E-Fo)<uo,c=a||uo>E;if(!A&&k>N&&(_=k,k=N,N=_),C?A?k+N>0^b[1]<(xo(b[0]-w)<uo?k:n):k<=b[1]&&b[1]<=n:e>Fo^(w<=b[0]&&b[0]<=S)){var z=xt(d,(-y+x)/m);return Mt(z,g),[b,_t(z)]}}}function i(t,e){var r=o?n:Fo-n,i=0;return-r>t?i|=1:t>r&&(i|=2),-r>e?i|=4:e>r&&(i|=8),i}var u=Math.cos(n),o=u>0,a=xo(u)>Uo,l=ve(n,6*Yo);return Rt(t,e,l,o?[0,-n]:[-Fo,n-Fo])}function Yt(n,t,e,r){return function(i){var u,o=i.a,a=i.b,l=o.x,c=o.y,f=a.x,s=a.y,h=0,p=1,g=f-l,v=s-c;if(u=n-l,g||!(u>0)){if(u/=g,0>g){if(h>u)return;p>u&&(p=u)}else if(g>0){if(u>p)return;u>h&&(h=u)}if(u=e-l,g||!(0>u)){if(u/=g,0>g){if(u>p)return;u>h&&(h=u)}else if(g>0){if(h>u)return;p>u&&(p=u)}if(u=t-c,v||!(u>0)){if(u/=v,0>v){if(h>u)return;p>u&&(p=u)}else if(v>0){if(u>p)return;u>h&&(h=u)}if(u=r-c,v||!(0>u)){if(u/=v,0>v){if(u>p)return;u>h&&(h=u)}else if(v>0){if(h>u)return;p>u&&(p=u)}return h>0&&(i.a={x:l+h*g,y:c+h*v}),1>p&&(i.b={x:l+p*g,y:c+p*v}),i}}}}}}function Zt(n,t,e,r){function i(r,i){return xo(r[0]-n)<uo?i>0?0:3:xo(r[0]-e)<uo?i>0?2:1:xo(r[1]-t)<uo?i>0?1:0:i>0?3:2}function u(n,t){return o(n.x,t.x)}function o(n,t){var e=i(n,1),r=i(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function l(n){for(var t=0,e=d.length,r=n[1],i=0;e>i;++i)for(var u,o=1,a=d[i],l=a.length,c=a[0];l>o;++o)u=a[o],c[1]<=r?u[1]>r&&Q(c,u,n)>0&&++t:u[1]<=r&&Q(c,u,n)<0&&--t,c=u;return 0!==t}function c(u,a,l,c){var f=0,s=0;if(null==u||(f=i(u,l))!==(s=i(a,l))||o(u,a)<0^l>0){do c.point(0===f||3===f?n:e,f>1?r:t);while((f=(f+l+4)%4)!==s)}else c.point(a[0],a[1])}function f(i,u){return i>=n&&e>=i&&u>=t&&r>=u}function s(n,t){f(n,t)&&a.point(n,t)}function h(){C.point=g,d&&d.push(y=[]),S=!0,w=!1,b=_=NaN}function p(){v&&(g(m,M),x&&w&&E.rejoin(),v.push(E.buffer())),C.point=s,w&&a.lineEnd()}function g(n,t){n=Math.max(-Ha,Math.min(Ha,n)),t=Math.max(-Ha,Math.min(Ha,t));var e=f(n,t);if(d&&y.push([n,t]),S)m=n,M=t,x=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};A(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,y,m,M,x,b,_,w,S,k,N=a,E=Pt(),A=Yt(n,t,e,r),C={point:s,lineStart:h,lineEnd:p,polygonStart:function(){a=E,v=[],d=[],k=!0},polygonEnd:function(){a=N,v=ao.merge(v);var t=l([n,r]),e=k&&t,i=v.length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),c(null,null,1,a),a.lineEnd()),i&&Lt(v,u,t,c,a),a.polygonEnd()),v=d=y=null}};return C}}function Vt(n){var t=0,e=Fo/3,r=ae(n),i=r(t,e);return i.parallels=function(n){return arguments.length?r(t=n[0]*Fo/180,e=n[1]*Fo/180):[t/Fo*180,e/Fo*180]},i}function Xt(n,t){function e(n,t){var e=Math.sqrt(u-2*i*Math.sin(t))/i;return[e*Math.sin(n*=i),o-e*Math.cos(n)]}var r=Math.sin(n),i=(r+Math.sin(t))/2,u=1+r*(2*i-r),o=Math.sqrt(u)/i;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/i,tn((u-(n*n+e*e)*i*i)/(2*i))]},e}function $t(){function n(n,t){Ia+=i*n-r*t,r=n,i=t}var t,e,r,i;$a.point=function(u,o){$a.point=n,t=r=u,e=i=o},$a.lineEnd=function(){n(t,e)}}function Bt(n,t){Ya>n&&(Ya=n),n>Va&&(Va=n),Za>t&&(Za=t),t>Xa&&(Xa=t)}function Wt(){function n(n,t){o.push("M",n,",",t,u)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function i(){o.push("Z")}var u=Jt(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return u=Jt(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Jt(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Gt(n,t){Ca+=n,za+=t,++La}function Kt(){function n(n,r){var i=n-t,u=r-e,o=Math.sqrt(i*i+u*u);qa+=o*(t+n)/2,Ta+=o*(e+r)/2,Ra+=o,Gt(t=n,e=r)}var t,e;Wa.point=function(r,i){Wa.point=n,Gt(t=r,e=i)}}function Qt(){Wa.point=Gt}function ne(){function n(n,t){var e=n-r,u=t-i,o=Math.sqrt(e*e+u*u);qa+=o*(r+n)/2,Ta+=o*(i+t)/2,Ra+=o,o=i*n-r*t,Da+=o*(r+n),Pa+=o*(i+t),Ua+=3*o,Gt(r=n,i=t)}var t,e,r,i;Wa.point=function(u,o){Wa.point=n,Gt(t=r=u,e=i=o)},Wa.lineEnd=function(){n(t,e)}}function te(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,Ho)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function i(){a.point=t}function u(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:i,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=i,a.point=t},pointRadius:function(n){return o=n,a},result:b};return a}function ee(n){function t(n){return(a?r:e)(n)}function e(t){return ue(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=NaN,S.point=u,t.lineStart()}function u(e,r){var u=dt([e,r]),o=n(e,r);i(M,x,m,b,_,w,M=o[0],x=o[1],m=e,b=u[0],_=u[1],w=u[2],a,t),t.point(M,x)}function o(){S.point=e,t.lineEnd()}function l(){
              
              It appears I see the same problem in Microsoft Edge 38.14393.0.0.[/i][/i]</uo?i></uo?i></uo?i></uo?k:n):k<=b[1]&&b[1]<=n:e></uo,c=a||uo></t[0]?fo:-fo;i=e*u></uo&&(e-=i*uo),xo(u-a)<uo&&(u-=a*uo),r=ft(e,r,u,o),n.point(i,r),n.lineend(),n.linestart(),n.point(a,r),t=0),n.point(e=u,r=o),i=a},lineend:function(){n.lineend(),e=r=nan},clean:function(){return></uo?(n.point(e,r=(r+o)></r;)u.point((i=n[o])[0],i[1]);u.lineend()}}else></t;)i.n=e=n[r],e.p=i,i=e;i.n=e=n[0],e.p=i}}function></uo&&xo(n[1]-t[1])<uo}function></t;)n[e][0]=this(n[e][0]);return></r;)t.set(n[e].tolowercase(),e);return>
              
              1 Reply Last reply Reply Quote 0
              • F
                fostytou
                last edited by

                I played with the monitoring screen again and was able to get past the display hangup (kinda).  If I set the default to quality and 1 month time period I have the problem, however if I set it to 2 days as a default I do not have the problem (until I select 1 month).  1 week only partially works and does not draw grid lines or axis' and then breaks the ability to change other settings as well.  I think this may be a problem with the template for the 1 month setting, but I also wonder if there is some corrupted quality data that is causing the draw problem.

                I think they come from different data pools but the 3 month setting in the drop-down seems to work fine.

                So, the workaround for now might be to just select a different default value than you are using.

                1 Reply Last reply Reply Quote 0
                • A
                  arion_p
                  last edited by

                  This is the same issue I have described in https://forum.pfsense.org/index.php?topic=119175.0

                  The cause seems to be that sometimes the step value returned from the XHR call (to rrd_fetch_json.php) is half of what it should be. The client (javascript) code looks up this value in a constant array to determine the rest of the settings but this value does not exist in the array causing the issue.

                  Notice that the step returned from rrd_fetch_json.php is actually read from the RRD data, so it is probably an issue with RRD data collection (or interpretaion)

                  1 Reply Last reply Reply Quote 0
                  • jdillardJ
                    jdillard
                    last edited by

                    Nice detective work! I created a redmine ticket and assigned it to myself: https://redmine.pfsense.org/issues/6860

                    1 Reply Last reply Reply Quote 0
                    • B
                      bekefigabor
                      last edited by

                      Thanks Jarod!
                      I tested your fix https://github.com/pfsense/FreeBSD-ports/commit/5288d76204e51a289c31d249f1cbd1174a4a9eca, it works great!
                      But the same problem appears in Quality graph (1 week period), with 1800 step value.
                      rrd_fetch_json.php response:

                      
                      ...
                              "key": "packet loss",
                              "step": 1800,
                              "last_updated": 1484999085000,
                      ...
                      
                      

                      Gabor

                      1 Reply Last reply Reply Quote 0
                      • A
                        ali1yilmaz
                        last edited by

                        thanks

                        1 Reply Last reply Reply Quote 0
                        • D
                          doktornotor Banned
                          last edited by

                          https://github.com/pfsense/FreeBSD-ports/pull/432

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.