Example #1
0
 /// <summary>
 /// Crée une instance de CounterDefinition en la conservant en cache.
 /// </summary>
 /// <param name="counterDefinition">Définition du compteur.</param>
 void IMonitoringStore.CreateCounter(ICounterDefinition counterDefinition)
 {
     lock (_counterList) {
         _counterList.Add(counterDefinition);
         _counterChangeList.Add(counterDefinition);
     }
 }
Example #2
0
 /// <summary>
 /// Crée une instance de CounterDefinition en la conservant en cache.
 /// </summary>
 /// <param name="counterDefinition">Définition du compteur.</param>
 void IMonitoringStore.CreateCounter(ICounterDefinition counterDefinition)
 {
     if (counterDefinition == null)
     {
         throw new ArgumentNullException("counterDefinition");
     }
     throw new NotImplementedException();
 }
Example #3
0
        /// <summary>
        /// Ajoute la définition d'un compteur.
        /// </summary>
        /// <param name="counter">Définition.</param>
        public void AddCounterDefinition(ICounterDefinition counter)
        {
            if (counter == null)
            {
                throw new ArgumentNullException("counter");
            }

            if (!this.CounterDefinition.ContainsKey(counter.Code))
            {
                this.CounterDefinition.Add(counter.Code, counter);
            }
        }
Example #4
0
 private static void ExceptionSafeCreateCounter(IMonitoringStore store, ICounterDefinition counter)
 {
     try {
         store.CreateCounter(counter);
     } catch (Exception e) {
         ILog log = LogManager.GetLogger("Kinetix.Monitoring");
         if (log.IsErrorEnabled)
         {
             log.Error("Erreur de persistance du monitoring.", e);
         }
     }
 }
Example #5
0
        /// <summary>
        /// Lit la définition d'un compteur.
        /// </summary>
        /// <param name="writer">Writer binaire.</param>
        /// <param name="counterDefinition">Définition du compteur.</param>
        void IMonitoringProtocolWriter.WriteCounterDefinition(BinaryWriter writer, ICounterDefinition counterDefinition)
        {
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }

            if (counterDefinition == null)
            {
                throw new ArgumentNullException("counterDefinition");
            }

            writer.Write(counterDefinition.Label);
            writer.Write(counterDefinition.Code);
            writer.Write(counterDefinition.WarningThreshold);
            writer.Write(counterDefinition.CriticalThreshold);
            writer.Write(counterDefinition.Priority);
        }
Example #6
0
        /// <summary>
        /// Ajoute la définition d'un compteur.
        /// </summary>
        /// <param name="counterDefinition">Définition du compteur.</param>
        /// <param name="protocolReader">Interface de lecture.</param>
        public void AddCounterDefinition(ICounterDefinition counterDefinition, IMonitoringProtocolReader protocolReader)
        {
            if (protocolReader == null)
            {
                throw new ArgumentNullException("protocolReader");
            }

            if (counterDefinition == null)
            {
                throw new ArgumentNullException("counterDefinition");
            }

            if (string.IsNullOrEmpty(counterDefinition.Code))
            {
                throw new NotSupportedException("counterDefinition.Code");
            }

            string keyBase = protocolReader.HostName + "&" + protocolReader.EndPoint + "&" + protocolReader.ModuleName + "&";

            _counters[keyBase + counterDefinition.Code] = counterDefinition;
        }
Example #7
0
        /// <summary>
        /// Rend une statistique au format HTML.
        /// </summary>
        /// <param name="hyperCube">Hypercube contenant les données.</param>
        /// <param name="writer">Writer HTML.</param>
        /// <param name="counter">Compteur.</param>
        /// <param name="counterDefinition">Définition du compteur.</param>
        /// <param name="link">Indique si un lien doit être créé pour la selection des graphiques.</param>
        /// <param name="context">Contexte courant de la requête.</param>
        /// <param name="counterStatType">Type de statistique du compteur à rendre.</param>
        private static void StatToHtml(IHyperCube hyperCube, HtmlTextWriter writer, ICounter counter, ICounterDefinition counterDefinition, bool link, Context context, CounterStatType counterStatType)
        {
            writer.Write(HtmlPageRenderer.Indent2);
            writer.Write("<td class=\"monitoring\" align=\"right\" " + GetHtmlStyle(counterDefinition, counter.GetValue(counterStatType)) + '>');
            writer.Write(string.Format(CultureInfo.CurrentCulture, "{0:0.##}", counter.GetValue(counterStatType)));
            writer.WriteLine("</td>");

            if (counter.HasInfo(counterStatType))
            {
                writer.Write(HtmlPageRenderer.Indent2);
                writer.Write("<td class=\"monitoring\">");
                writer.Write(HtmlPageRenderer.GetLink(context.Zoom(hyperCube.Name, counter.GetInfo(counterStatType)), counter.GetInfo(counterStatType), link));
                writer.WriteLine("</td>");
            }
        }
Example #8
0
 /// <summary>
 /// Rend un compteur sous forme HTML.
 /// </summary>
 /// <param name="hyperCube">Hypercube contenant les données.</param>
 /// <param name="writer">Writer HTML.</param>
 /// <param name="counter">Compteur.</param>
 /// <param name="counterDefinition">Définition du compteur.</param>
 /// <param name="link">Indique si un lien doit être créé pour la selection des graphiques.</param>
 /// <param name="context">Context courant de la requête.</param>
 private static void ToHtml(IHyperCube hyperCube, HtmlTextWriter writer, ICounter counter, ICounterDefinition counterDefinition, bool link, Context context)
 {
     StatToHtml(hyperCube, writer, counter, counterDefinition, link, context, CounterStatType.Last);
     StatToHtml(hyperCube, writer, counter, counterDefinition, link, context, CounterStatType.Avg);
     StatToHtml(hyperCube, writer, counter, counterDefinition, link, context, CounterStatType.Min);
     StatToHtml(hyperCube, writer, counter, counterDefinition, link, context, CounterStatType.Max);
 }
Example #9
0
 /// <summary>
 /// Retourne un style html ou chaîne vide selon le niveau de criticité de
 /// la valeur en entrée.
 /// </summary>
 /// <param name="counter">Définition du compteur.</param>
 /// <param name="value">Valeur.</param>
 /// <returns>Style.</returns>
 private static string GetHtmlStyle(ICounterDefinition counter, double value)
 {
     return(GetHtmlStyle(counter.WarningThreshold, counter.CriticalThreshold, value));
 }