Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/PreAggMetrics.Master #735

Merged
merged 144 commits into from
Apr 2, 2018
Merged
Show file tree
Hide file tree
Changes from 142 commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
65cc22e
Metrics: Initial commit includes the Microsoft.ApplicationInsights.Me…
May 23, 2017
47719be
Metrics: MultidimensionalCube returns GetPointResult type instances.
Jun 20, 2017
98080eb
Metrics: Refactor Multidimensional Cube related names.
macrogreg Jun 20, 2017
b5c86ac
Metrics: Building MetricAggregationManager infrastructure. Work in Pr…
macrogreg Jun 28, 2017
4f0eb88
Metrics: Building MetricAggregationManager infrastructure. Work in Pr…
macrogreg Jun 28, 2017
9ec0331
Metrics: Building MetricAggregationManager infrastructure. Work in Pr…
macrogreg Jul 12, 2017
b3ee2a7
Metrics: Scaffolding of MetricAggregationManager infrastructure is la…
macrogreg Jul 14, 2017
98c8b99
Metrics: Starting scaffolding for TelemetryClient extensions. Work in…
macrogreg Jul 14, 2017
087c0fa
Metrics: Object pooling for Aggregators.
macrogreg Jul 14, 2017
82efe9f
Metrics: Make MultidimensionalCube.TotalPointsCountLimit non-readonly.
macrogreg Jul 14, 2017
79d0eab
Metrics: UNDO: Make MultidimensionalCube.TotalPointsCountLimit non-re…
macrogreg Jul 14, 2017
9ffa720
Metrics: Retarget from .Net Core to .Net Standard 1.5.
macrogreg Jul 14, 2017
e605611
Metrics: Refactor solution directory.
macrogreg Jul 14, 2017
c80d45a
Metrics: Convenience APIs layered in a separate DLL.
macrogreg Jul 14, 2017
f95755d
Metrics: Some namng refactorings.
macrogreg Jul 14, 2017
79bead2
Metrics: Completed scaffolding for convenience APIs.
macrogreg Jul 18, 2017
25e6af3
Metrics: Added Code Analysis (but not passing yet).
macrogreg Jul 18, 2017
6bef84e
Metrics: Moved Build output folders to outside of code enlistment.
macrogreg Jul 18, 2017
ae17d1c
Metrics: Added dummy XML comments for publics.
macrogreg Jul 18, 2017
5f88ba2
Metrics: Exposed Time Series of a Metric.
macrogreg Jul 18, 2017
43081ce
Metrics: Remove some FxCop errors.
macrogreg Jul 18, 2017
c9faf63
Metrics: Factored out common build properties.
macrogreg Jul 18, 2017
4ddd3d6
Metrics: Addd more dummy XML comments. Debug build works now with com…
macrogreg Jul 18, 2017
a785c07
Metrics: Adressed some Code Analysis errors.
macrogreg Jul 18, 2017
9d88261
Metrics: Fix Build break in QP adapter
macrogreg Sep 2, 2017
604af43
Metrics: Dummy Test project builds and runs.
macrogreg Sep 2, 2017
75327e3
Metrics: Added StyleCop, resolved errors, then commented from build t…
macrogreg Sep 2, 2017
ee45e84
Metrics: Added Unit Tests for MultidimensionalCube.
macrogreg Sep 13, 2017
980e352
Metrics: Remove Track APIs that take ints; only take doubles. Some ad…
macrogreg Sep 15, 2017
632f55f
Metrics: Metric Configuration defaults to Double instead of Int.
macrogreg Sep 16, 2017
6990559
Metrics: Simplified some public surface.
macrogreg Sep 16, 2017
dabb969
Metrics: A few additional tests and fixes.
macrogreg Sep 16, 2017
a8b6e57
Metrics: GrowingCollectionTests
macrogreg Sep 23, 2017
b2b9eff
Metrics: Unit tests for SimpleDoubleDataSeriesAggregator.
macrogreg Sep 28, 2017
559ea96
Metrics: Unit tests for SimpleUInt32DataSeriesAggregator.
macrogreg Sep 28, 2017
9027032
Metrics: Refactored Aggregators in a dedicated subdirectory.
macrogreg Sep 28, 2017
24f8708
Metrics: Refactored Aggregators in a dedicated subdirectory.
macrogreg Sep 28, 2017
1500cc4
Metrics: Unit tests for DefaultAggregationPeriodCycle.
macrogreg Sep 28, 2017
6dd429c
Metrics: Uncomment ReadOptimizedList.
macrogreg Sep 28, 2017
5abc1f4
Metrics: Remove ReadOptimizedList since it is not used.
macrogreg Sep 28, 2017
61687d7
Metrics: Unit tests for NaiveDistinctCountMetricSeriesAggregator.
macrogreg Sep 28, 2017
c07caf7
Metrics: Unit tests for NaiveDistinctCountMetricSeriesAggregator.
macrogreg Sep 28, 2017
101c6e6
Metrics: Concurrent tests for Agregators.
macrogreg Sep 28, 2017
8d21a57
Metrics: Refactor MetricConsumerKind to MetricAggregationCycleKind.
macrogreg Sep 29, 2017
12026e4
Metrics: Some renamings previously forgotten during the CycleKind ref…
macrogreg Sep 29, 2017
c801714
Metrics: Simplity Aggregation Manager to only have 2 instead of 3 Sto…
macrogreg Oct 3, 2017
8795e56
Metrics: MetricAggregationManager tests.
macrogreg Oct 3, 2017
413d0a0
Metrics: Core Util unit tests.
macrogreg Oct 3, 2017
f4b0240
Metrics: MetricManager unit tests.
macrogreg Oct 5, 2017
eac0d4b
Metrics: Telemetry Pipeline Unite Tests
macrogreg Oct 5, 2017
c54d585
Metrics: Series Tests and small refactorings
macrogreg Oct 7, 2017
1230dc2
Metrics: Fix issues with MetricManager finalizer. Allow tests to pass…
macrogreg Oct 7, 2017
f9e9e36
Metrics: Added TelemetryConfigurationExtensionsTests. This completes …
macrogreg Oct 7, 2017
d3221d9
Metrics: Started Convenience API validation.
macrogreg Oct 9, 2017
0def7b3
Metrics: Metric tests and bug fixes.
macrogreg Oct 11, 2017
93c59ed
Metrics: Grouped Tests under a common folder.
macrogreg Oct 11, 2017
6bd3ea8
Metrics: Consistency in Test Assembly Names.
macrogreg Oct 11, 2017
cb6644d
Metrics: Moved generic data structures in separate assembly.
macrogreg Oct 11, 2017
d88d5c3
Metrics: Name length issue with data structures test assembly.
macrogreg Oct 11, 2017
16798d2
Metrics: Move over to MultidimensionalCube2
macrogreg Oct 15, 2017
6861496
Metrics: Refactored datastructures ammably name.
macrogreg Oct 15, 2017
17fa3b5
metrics: Added MetricAggregationScope.
macrogreg Oct 16, 2017
0977cc1
Metrics: MultidimensionalCube2 tests.
macrogreg Oct 16, 2017
a2db654
Metrics: MetricTests complete.
macrogreg Oct 20, 2017
f2a4b38
Metrics: More convenience Unit Tests
macrogreg Oct 20, 2017
95b51f3
Metrics: Fix some typos.
macrogreg Oct 20, 2017
796aabb
Metrics: TelemetryClientExtensionsTests
macrogreg Oct 23, 2017
bb4de11
Metrics: TelemetryClientExtensionsAdvancedTests
macrogreg Oct 23, 2017
5f4ac30
Metrics: Stamp Sdk Version into telemetry.
macrogreg Oct 23, 2017
1383ecf
Metrics: Fix StdDev test tool.
macrogreg Oct 23, 2017
a148a9c
Metrics: Added some examples.
macrogreg Oct 28, 2017
4459bc8
Metrics: Refactor to add an abstraction to MetricAggregate.
macrogreg Oct 30, 2017
ef05ac8
Metrics: More examples.
macrogreg Oct 31, 2017
97d0c87
Metrics: Add mode examples.
macrogreg Oct 31, 2017
c3f33b5
Metrics: Spellcheck in Examples.
macrogreg Oct 31, 2017
2f4bd2c
Metrics: Remove Additional Data Context
macrogreg Nov 4, 2017
7086cf2
Metrics: Added some doc comments.
macrogreg Nov 7, 2017
c393e51
Metrics: Rename Counters to Accumulators
macrogreg Nov 7, 2017
89f3665
Metrics: Add more doc comments.
macrogreg Nov 7, 2017
fa4bf96
Metrics: Doc comments for MetricDimensionNames.
macrogreg Nov 11, 2017
0952cf9
Metrics: Even faster aggregators (work in progress).
macrogreg Nov 12, 2017
a229dea
Metrics: Even faster aggregators (work in progress, almost done, need…
macrogreg Nov 14, 2017
cf6e34e
Metrics: Even faster aggregators (work in progress, ongoing cleanup).
macrogreg Nov 20, 2017
a921a83
Metrics: Even faster aggregators (complted; old aggregators removed).
macrogreg Nov 20, 2017
7789eb5
Metrics: Convenience and ConcurrentDatastructures into Core (prod cod…
macrogreg Nov 20, 2017
2534887
Metrics: Convenience and ConcurrentDatastructures into Core (tests).
macrogreg Nov 20, 2017
b03ce6d
Metrics: Splitting out Extensions assembly (initial split, work in pr…
macrogreg Nov 20, 2017
d7d1f97
Metrics: Splitting out Extensions assembly (done).
macrogreg Nov 20, 2017
68eab5b
Metrics: Rename .Metrics() to .GetMetricManager().
macrogreg Nov 20, 2017
109cd39
Metrics: Refactor datastructures folder name.
macrogreg Nov 20, 2017
a3591cf
Metrics: Move Internals and Publics into separate directories.
macrogreg Nov 20, 2017
17ac72b
Metrics: Fixed a bunch of Cop errors.
macrogreg Nov 20, 2017
2d4da73
Metrics: Fixed a few more Cop errors.
macrogreg Nov 20, 2017
f36ce30
Metrics: Protect user code calls to filters.
macrogreg Nov 21, 2017
0260f81
Metrics: Simplify Metrics collection retrieval and expose it as a pub…
macrogreg Nov 21, 2017
61c8adf
Metrics: Add the AutoCleanupUnusedSeries to IMetricSeriesConfiguratio…
macrogreg Nov 21, 2017
3a24c9a
Metrics: Minor text fixes.
macrogreg Dec 27, 2017
4a768ba
Revert "Metrics: Add the AutoCleanupUnusedSeries to IMetricSeriesConf…
macrogreg Dec 27, 2017
44b7bde
Metrics: Remove IMetricConfiguration iface as unnecesary abstraction.
macrogreg Mar 14, 2018
4af3b8d
Metrics: Add MetricIdentifier class not do not use it yet.
macrogreg Mar 15, 2018
2cd32b9
Metrics: Support for Namespace and up to 10 dimensions by using Metri…
macrogreg Mar 16, 2018
2dacff7
Metrics: Refactor Hash Code computation into Utils.
macrogreg Mar 16, 2018
8484f59
Metrics: Refactor aggregate constants.
macrogreg Mar 16, 2018
07503e8
Metrics: Moving folders to prepare to merge into Core SDK repo.
Mar 17, 2018
4ad8dfd
Merge branch 'metrics/master' of c:\T\Labs\ApplicationInsights-SDK-La…
Mar 17, 2018
7610b97
Metrics: Metric Pre-Aggregation was just importend from the Labs repo…
Mar 18, 2018
13200b8
Metrics: Move public classes in plain Application Insights namespace …
Mar 18, 2018
da59332
Metrics: Rename the old internal Metric class into MetricV1 to avoid …
Mar 18, 2018
ac3d847
Metrics: Rename the old internal Metric class into MetricV1 to avoid …
Mar 18, 2018
11e76fb
Metrics: Rename the old internal MetricManager class into MetricManag…
Mar 18, 2018
54fbcdc
Metrics: Move other files of the Metrics Core package into the Core S…
Mar 18, 2018
fe163a3
Metrics: Get Core SDK to build by fixing a few errors and disabling C…
Mar 18, 2018
12da57a
Metrics: Metrics.Extension assembly now builds separately in the corr…
Mar 19, 2018
580fbaf
Metrics: Resolve most of the Style build issues, except a few purpose…
macrogreg Mar 21, 2018
c8b8531
Metrics: Rename legacy IMetricProcessor to IMetricProcessorV1
macrogreg Mar 21, 2018
8a068b7
Metrics: Resolv "SA1101: Prefix local calls with 'this'"
macrogreg Mar 21, 2018
f88adf7
Metrics: Resolve "SA1308: Variable Names Must Not Be Prefixed"
macrogreg Mar 21, 2018
7a665c8
Metrics: Fixed a few warnings intorduced nd overlooked in this week's…
macrogreg Mar 21, 2018
b09d6a4
Metrics: Resolve "SA1309: Field names must not begin with underscore"
macrogreg Mar 21, 2018
3fffbef
Metrics: Fix small, previously overlooked build break cause by style …
macrogreg Mar 21, 2018
1f151e2
Metrics: Move all global style rule suppressions into the same centra…
macrogreg Mar 21, 2018
1752f58
Metrics: Addressing various small PR comments.
macrogreg Mar 27, 2018
9a2de02
Metrics: Remove suppressions for additional styling rules.
macrogreg Mar 27, 2018
4384d37
Metrics: Re-enable PublicApiAnalyzer.
macrogreg Mar 27, 2018
881e218
Merge branch 'develop' into feature/PreAggMetrics.Master
macrogreg Mar 27, 2018
ea156ab
Metrics: Move all tests into he right folders.
macrogreg Mar 28, 2018
7ee39f6
Metrics: Move the Metrics.Extensions project out of the repo.
macrogreg Mar 28, 2018
c6e1bb5
Merge branch 'develop' into feature/PreAggMetrics.Master
macrogreg Mar 28, 2018
c45f657
Metrics: Merge V1-MetricManager renamings.
macrogreg Mar 29, 2018
5772b0c
Merge branch 'develop' into feature/PreAggMetrics.Master
macrogreg Mar 29, 2018
f05316e
Metrics: Brings Examples back into the test project.
macrogreg Mar 29, 2018
dec02a2
Metrics: Reduce public API surface and mark the hidden APIs as @Publi…
macrogreg Mar 29, 2018
459b490
Metrics: Disable style rule "SA1623: Property summary documentation m…
macrogreg Mar 29, 2018
638115b
Metrics: Fix-up @ToDo tags.
macrogreg Mar 29, 2018
08dc69e
Metrics: Re-enable tyle rule "SA1625: Element documentation must not …
macrogreg Mar 29, 2018
1a3f4db
Metrics: Fix a typo.
macrogreg Mar 30, 2018
cda6d4d
Merge branch 'develop' into feature/PreAggMetrics.Master
macrogreg Mar 30, 2018
28b8222
Metrics: Address some FxCop errors.
macrogreg Mar 30, 2018
68870f1
Metrics: Address FxCop warning "CA1305: Specify IFormatProvider".
macrogreg Mar 30, 2018
0556564
Metrics: Temporarily disable tests that fail due to https://github.co…
macrogreg Mar 30, 2018
af0a785
Metrics: Make MetricManager an internal property on TelemetryConfigur…
macrogreg Mar 30, 2018
99f3be6
Metrics: Test tweaks.
macrogreg Mar 30, 2018
3bff8e3
Merge "develop" to "feature/PreAggMetrics.Master"
macrogreg Mar 30, 2018
6092810
Metrics: Remove Obsolete attribute on TrackMetric(..)
macrogreg Mar 31, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Microsoft.ApplicationInsights.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27128.1
VisualStudioVersion = 15.0.26430.16
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Microsoft.ApplicationInsights.Tests", "Microsoft.ApplicationInsights.Tests", "{C2FEEDE5-8CAE-41A4-8932-42D284A86EA7}"
EndProject
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

1,699 changes: 1,699 additions & 0 deletions Test/Microsoft.ApplicationInsights.Test/Shared/MetricTests.cs

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
using System;

using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.ApplicationInsights.Extensibility;

using System.Linq;
using Microsoft.ApplicationInsights.DataContracts;
using Microsoft.ApplicationInsights.Channel;

namespace Microsoft.ApplicationInsights.Metrics.Extensibility
{
/// <summary />
[TestClass]
public class AggregationPeriodSummaryTests
{
/// <summary />
[TestMethod]
public void Ctor()
{
{
var period = new AggregationPeriodSummary(null, null);
Assert.IsNotNull(period);
}
}

/// <summary />
[TestMethod]
public void PersistentAggregates()
{
{
MetricAggregate[] p = new MetricAggregate[0];
var period = new AggregationPeriodSummary(p, null);

Assert.IsNull(period.NonpersistentAggregates);

Assert.IsNotNull(period.PersistentAggregates);
Assert.AreSame(p, period.PersistentAggregates);
Assert.AreEqual(0, period.PersistentAggregates.Count);
}
{
MetricAggregate[] p = new MetricAggregate[] { new MetricAggregate("mns1", "mid1", "KindA"),
new MetricAggregate("mns2", "mid2", "KindB"),
new MetricAggregate("mns3", "mid3", "KindC") };
var period = new AggregationPeriodSummary(p, null);

Assert.IsNull(period.NonpersistentAggregates);

Assert.IsNotNull(period.PersistentAggregates);
Assert.AreSame(p, period.PersistentAggregates);
Assert.AreEqual(3, period.PersistentAggregates.Count);

Assert.AreEqual("mns1", period.PersistentAggregates[0].MetricNamespace);
Assert.AreEqual("mid1", period.PersistentAggregates[0].MetricId);
Assert.AreEqual("KindA", period.PersistentAggregates[0].AggregationKindMoniker);

Assert.AreEqual("mns2", period.PersistentAggregates[1].MetricNamespace);
Assert.AreEqual("mid2", period.PersistentAggregates[1].MetricId);
Assert.AreEqual("KindB", period.PersistentAggregates[1].AggregationKindMoniker);

Assert.AreEqual("mns3", period.PersistentAggregates[2].MetricNamespace);
Assert.AreEqual("mid3", period.PersistentAggregates[2].MetricId);
Assert.AreEqual("KindC", period.PersistentAggregates[2].AggregationKindMoniker);
}
{
MetricAggregate[] np = new MetricAggregate[] { new MetricAggregate("MNS1", "mid1", "KindA"),
new MetricAggregate("MNS2", "mid2", "KindB"),
new MetricAggregate("MNS3", "mid3", "KindC") };
var period = new AggregationPeriodSummary(null, np);

Assert.IsNull(period.PersistentAggregates);

Assert.IsNotNull(period.NonpersistentAggregates);
Assert.AreSame(np, period.NonpersistentAggregates);
Assert.AreEqual(3, period.NonpersistentAggregates.Count);

Assert.AreEqual("MNS1", period.NonpersistentAggregates[0].MetricNamespace);
Assert.AreEqual("mid1", period.NonpersistentAggregates[0].MetricId);
Assert.AreEqual("KindA", period.NonpersistentAggregates[0].AggregationKindMoniker);

Assert.AreEqual("MNS2", period.NonpersistentAggregates[1].MetricNamespace);
Assert.AreEqual("mid2", period.NonpersistentAggregates[1].MetricId);
Assert.AreEqual("KindB", period.NonpersistentAggregates[1].AggregationKindMoniker);

Assert.AreEqual("MNS3", period.NonpersistentAggregates[2].MetricNamespace);
Assert.AreEqual("mid3", period.NonpersistentAggregates[2].MetricId);
Assert.AreEqual("KindC", period.NonpersistentAggregates[2].AggregationKindMoniker);
}

}
}
}
Loading