unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
2 lines (1 loc) • 2.23 kB
JavaScript
import{ao as i,ap as p,aq as u,ar as g,r as l,j as d,as as b,at as h,au as x,av as C,aw as f,ax as S,ay as q,az as M,aA as k,aB as v}from"./index.e6fe1fcd.js";const w=(t,s)=>{const o={label:"total requests",borderColor:i.palette.primary.main,backgroundColor:i.palette.primary.main,data:n(t,s,r=>r.yes+r.no),elements:{point:{radius:6,pointStyle:"circle"},line:{borderDash:[8,4]}}},e={label:"exposed",borderColor:i.palette.success.main,backgroundColor:i.palette.success.main,data:n(t,s,r=>r.yes),elements:{point:{radius:6,pointStyle:"triangle"}}},a={label:"not exposed",borderColor:i.palette.error.main,backgroundColor:i.palette.error.main,data:n(t,s,r=>r.no),elements:{point:{radius:6,pointStyle:"triangle",pointRotation:180}}};return{datasets:[e,a,o]}},n=(t,s,o)=>t.map(e=>({x:e.timestamp,y:o(e)})),L=(t,s,o)=>({locale:o.locale,responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},plugins:{tooltip:{backgroundColor:"white",bodyColor:i.palette.text.primary,titleColor:i.palette.grey[700],borderColor:i.palette.primary.main,borderWidth:1,padding:10,boxPadding:5,usePointStyle:!0,callbacks:{title:e=>u(e[0].parsed.x,o.locale)},itemSort:(e,a)=>a.parsed.y-e.parsed.y},legend:{position:"top",align:"end",labels:{boxWidth:10,boxHeight:10,usePointStyle:!0}},title:{text:P(s),position:"top",align:"start",display:!0,font:{size:16,weight:"400"}}},scales:{y:{type:"linear",title:{display:!0,text:"Number of requests"},suggestedMin:0,ticks:{precision:0}},x:{type:"time",time:{unit:"hour"},grid:{display:!1},ticks:{callback:(e,a,r)=>u(r[a].value,o.locale)}}}}),P=t=>t===1?"Requests in the last hour":`Requests in the last ${t} hours`;p.font={...p.font,family:"Sen",size:13,weight:"400"};const _=({metrics:t,hoursBack:s,statsSectionId:o})=>{const{locationSettings:e}=g(),a=l.exports.useMemo(()=>[...t].sort((m,y)=>m.timestamp.localeCompare(y.timestamp)),[t]),r=l.exports.useMemo(()=>L(a,s,e),[a,s,e]),c=l.exports.useMemo(()=>w(a,e),[a,e]);return d("div",{style:{height:400},children:d(b,{options:r,data:c,"aria-label":"A feature metrics line chart, with three lines: all requests, positive requests, and negative requests.","aria-describedby":o})})};h.register(x,C,f,S,q,M,k,v);export{_ as FeatureMetricsChart,_ as default};