Skip to content
This repository was archived by the owner on Nov 14, 2023. It is now read-only.

Commit 6f64b89

Browse files
jaywalker21jake-bassettanandtiwaryaaron-steinfeldpalbizu
authored
RudderStack Analytics Integration with HyperTrace (#27)
* feat: hide header divider line when in detail list mode (hypertrace#1246) * feat: add additional specification array to entity spec (hypertrace#1247) * feat: add additional specification array to entity spec * refactor: fixing test * refactor: fix test * refactor: fix test * refactor: fix test * refactor: fix test again * fix: make explorer content scrollable (hypertrace#1248) * feat: import filter url service (hypertrace#1251) Co-authored-by: Patricio Albizu <[email protected]> * fix: make divider 1px high (hypertrace#1253) * refactor: breadcrumb to support additional specifications (hypertrace#1254) * refactor: breadcrumb to support additional specifications * refactor: fixing lint * refactor: fix test * refactor: addressing review comments * refactor: fixing test * refactor: fixing lint * refactor: addressing review comments * refactor: fixing test * refactor: update breadcrumb and fix tests * feat: persist explorer state in url (hypertrace#1257) * chore:(deps): bump core-js from 3.19.0 to 3.19.1 (hypertrace#1261) * chore:(deps-dev): bump @commitlint/config-conventional (hypertrace#1260) * chore:(deps): bump mixpanel-browser from 2.41.0 to 2.42.0 (hypertrace#1259) * chore:(deps): bump @apollo/client from 3.4.16 to 3.4.17 (hypertrace#1263) * feat: Adding properties to Title Content (hypertrace#1235) * feat: Adding properties to Title Content * feat: Fixing comments * feat: fixing comments Co-authored-by: Patricio Albizu <[email protected]> * fix: common project should not depend on components project (hypertrace#1264) * fix: common project should not depend on components project * fix: upgrade graphql from 15.6.1 to 15.7.0 (hypertrace#1266) Snyk has created this PR to upgrade graphql from 15.6.1 to 15.7.0. See this package in npm: https://www.npmjs.com/package/graphql See this project in Snyk: https://app.snyk.io/org/surajpuvvada/project/553e7174-0e22-4c7f-aa2c-12ae5f5768b5?utm_source=github&utm_medium=referral&page=upgrade-pr * feat: adding loading config functionality to table view toggle widget (hypertrace#1267) * Table use local storage for columns (hypertrace#1265) * feat: use local storage to persist table columns * fix: typo * style: lint * style: prettier * fix: avoid dupe columns, clear group name from url on none (hypertrace#1269) * feat: util methods to manipulate graphqlTimeRange (hypertrace#1271) * feat: util methods to manipulate graphqlTimeRange * chore:(deps-dev): bump husky from 7.0.1 to 7.0.4 (hypertrace#1276) * chore:(deps-dev): bump @commitlint/cli from 13.1.0 to 15.0.0 (hypertrace#1274) * chore:(deps-dev): bump ts-node from 10.2.1 to 10.4.0 (hypertrace#1277) * fix: upgrade graphql from 15.7.0 to 15.7.2 (hypertrace#1280) Snyk has created this PR to upgrade graphql from 15.7.0 to 15.7.2. See this package in npm: https://www.npmjs.com/package/graphql See this project in Snyk: https://app.snyk.io/org/saxenakshitiz/project/f89d1009-f321-4082-a83b-34ae0ca070eb?utm_source=github&utm_medium=referral&page=upgrade-pr * fix: new style for title in titled content (hypertrace#1283) * fix: new style for title in titled content * fix: emit correct shape for single select change (hypertrace#1284) * feat: change default visualization for spans to count (hypertrace#1272) * feat: add styling to table filters with applied values (hypertrace#1285) * fix: support for custom row size for table (hypertrace#1286) * chore:(deps-dev): bump @types/node from 16.7.10 to 16.11.10 (hypertrace#1289) * chore:(deps-dev): bump jest-config from 27.3.1 to 27.4.0 (hypertrace#1292) * chore:(deps): bump @apollo/client from 3.4.17 to 3.5.5 (hypertrace#1291) * Form changes (hypertrace#1281) * refactor: forms wip * refactor: added more changes for supporting forms * refactor: adding more changes * refactor: self review * feat: persisted expand collapse for explorer panels (hypertrace#1295) * feat: toggle able legend for cartesian chart (hypertrace#1270) * feat: table filters now always show their placeholder even when a selection is made (hypertrace#1296) * feat: add row highlighting to table selections (hypertrace#1300) * feat: add row highlighting to table selections * test: fix * feat: support styles for text-widget primary text (hypertrace#1301) * chore:(deps-dev): bump jest-config from 27.4.0 to 27.4.3 (hypertrace#1304) * chore:(deps): bump core-js from 3.19.1 to 3.19.3 (hypertrace#1307) * chore:(deps-dev): bump @commitlint/config-conventional (hypertrace#1306) * feat: exporting field and active tab label change (hypertrace#1309) * feat: exporting field and active tab label change * refactor: fixing lint errors * feat: support for custom row height in table widget (hypertrace#1310) * feat: list view changes (hypertrace#1302) * feat: list view changes * refactor: fix formatting * refactor: fixing test * fix: make border configurable in form field (hypertrace#1311) * fix: minor style changes to list view and multi select (hypertrace#1312) * refactor: making radio forms compatible with forms (hypertrace#1314) * Fix date picker timezone issue (hypertrace#1313) * fix(date-picker): date changes when time selected Issue caused by the timezone offset. * test(date-picker): add more test cases * refactor(date-picker): cleaned up code for constructing date * fix(date-picker): linting issues * refactor(date-picker): use UTC time for datepicker * chore:(deps-dev): bump jest-config from 27.4.3 to 27.4.4 (hypertrace#1317) * chore:(deps-dev): bump pretty-quick from 3.1.1 to 3.1.2 (hypertrace#1320) * chore:(deps-dev): bump @types/node from 16.11.10 to 16.11.12 (hypertrace#1319) * chore:(deps-dev): bump @ngneat/spectator from 8.3.1 to 8.3.2 (hypertrace#1318) * fix: setting max-height for multi select options container (hypertrace#1315) * fix: pull applied filter logic into table controls so consumer doesn't have to manage (hypertrace#1323) * feat: adding color picker component (hypertrace#1325) * feat: adding color picker component * refactor: downgrading version and fixing tests * feat: Combo box forms (hypertrace#1327) * fix: adding forms support to combo box * refactor: minor style change to color picker * refactor: fix lint issues * feat: grouped cartesian legend (hypertrace#1288) * chore:(deps-dev): bump @types/d3-scale from 2.2.4 to 2.2.6 (hypertrace#1332) * chore:(deps-dev): bump @types/node from 16.11.12 to 17.0.1 (hypertrace#1331) * chore:(deps): bump graphql from 15.7.2 to 15.8.0 (hypertrace#1328) * chore:(deps-dev): bump ng-mocks from 12.5.0 to 12.5.1 (hypertrace#1329) * fix: grouped legend bug (hypertrace#1334) * feat: disabled state for input component reactive forms (hypertrace#1333) * refactor: minor style change support for combo box (hypertrace#1336) * chore:(deps-dev): bump jest-html-reporter from 3.4.1 to 3.4.2 (hypertrace#1338) * chore:(deps): bump core-js from 3.19.3 to 3.20.1 (hypertrace#1339) * chore:(deps): bump mixpanel-browser from 2.42.0 to 2.42.1 (hypertrace#1340) * chore:(deps-dev): bump @types/node from 17.0.1 to 17.0.5 (hypertrace#1342) * chore:(deps-dev): bump @commitlint/cli from 15.0.0 to 16.0.1 (hypertrace#1345) * chore:(deps-dev): bump @types/jest from 26.0.24 to 27.4.0 (hypertrace#1346) * chore:(deps-dev): bump @compodoc/compodoc from 1.1.15 to 1.1.16 (hypertrace#1348) * fix: corrected nested styling for `titled-content` (hypertrace#1350) # Issue Reference below hypertrace#1298 * feat: toISOString Time function (hypertrace#1351) * feat: toISOString Time function * feat: adding uts Co-authored-by: Patricio Albizu <[email protected]> * Adding inputs to time picker (hypertrace#1343) * feat: disabled and display Mode input in Time Picker * feat: adding size inputs * feat: adding transparent background to select * feat: fixing comments * feat: fixing comments * feat: fixing comments Co-authored-by: Patricio Albizu <[email protected]> * fix: prevent empty like clause for search parameters (hypertrace#1353) Reference: hypertrace#1344 Do not send empty search parameters, rather only send them when non empty values are present * feat: datetime picker as form field (hypertrace#1352) * feat: datetime picker as form field * fix: adding wrong removed code * feat: control value accessor impl for text area * fix: addressing review comments * feat: add alignment customization for page header content (hypertrace#1355) * feat: add option to configure create option label (hypertrace#1356) * feat: providing functionality to use else template in if feature directive (hypertrace#1357) * chore:(deps): bump @apollo/client from 3.5.5 to 3.5.6 (hypertrace#1361) * chore:(deps): bump core-js from 3.20.1 to 3.20.2 (hypertrace#1362) * chore:(deps-dev): bump @commitlint/config-conventional (hypertrace#1360) * chore:(deps-dev): bump jest-config from 27.4.4 to 27.4.7 (hypertrace#1359) * chore:(deps-dev): bump @types/mixpanel-browser from 2.35.7 to 2.36.0 (hypertrace#1363) * fix: Fixing Time picker comparison time in dropdown (hypertrace#1364) Co-authored-by: Patricio Albizu <[email protected]> * feat: adding request options to graphql data source (hypertrace#1220) * feat: entity icon color (hypertrace#1365) * style: add overflow for navigation list (hypertrace#1366) * refactor: add blue 6 (hypertrace#1370) * style(navigation): update overflow styles (hypertrace#1371) * Attribute expressions (hypertrace#1367) * feat: add support for attribute expressions * test: update tests * Explorer subpath support (hypertrace#1368) * feat: add support for attribute expressions * test: update tests * feat: add support for filtering with attribute expressions * fix: caught a couple bugs while updating tests * Explorer groupby subpath support (hypertrace#1369) * feat: add support for attribute expressions * test: update tests * feat: add support for filtering with attribute expressions * fix: caught a couple bugs while updating tests * feat: explorer group by subpath support * test: update tests * refactor: adding filters to data source (hypertrace#1372) * refactor: adding filters and make largest auto value as default * refactor: fixing lint error * refactor: fixing test * refactor: fixing tests * refactor: addressing review comments * revert: auto interval chagnes * feat: support for configurable max height in multi select container (hypertrace#1324) * feat: support for configurable max height in multi select container * chore:(deps): bump @fullstory/browser from 1.4.9 to 1.4.10 (hypertrace#1376) * chore:(deps-dev): bump @compodoc/compodoc from 1.1.16 to 1.1.18 (hypertrace#1377) * chore:(deps-dev): bump @types/uuid from 8.3.1 to 8.3.4 (hypertrace#1379) * chore:(deps): bump mixpanel-browser from 2.42.1 to 2.43.0 (hypertrace#1380) * chore:(deps-dev): bump pretty-quick from 3.1.2 to 3.1.3 (hypertrace#1378) * fix: parser should only match full filter keys (hypertrace#1383) * feat: adding an attachedTrigger with sheet overlay (hypertrace#1382) * feat: adding an attachedTrigger with sheet overlay * refactor: addressing review comments * refactor: setting default trigger collapsed view and updating width * feat: Skeleton loader for LoadAsync directive (hypertrace#1373) * feat: added skeleton component * fix: integrating skeleton component with loader * style: adding loader types and fixing display * feat: added skeleton shapes and styling * style: minor style adjustments to skeletons * feat: added donut skeleton shape * fix: default isOldLoaderFlag to true * test: updated for loader component changes * test: skeleton component testing Co-authored-by: Christian Quinn <[email protected]> * feat: show y Axis and corresponding grid lines for Metrics tab in Services/API Endpoints/Backend (hypertrace#1381) * feat(metrics): show y Axis and corresponding grid lines * refactor: remove max series data points from y axis config * feat: added y axis grid lines for metrics tab in API view * feat: added y axis grid lines for metrics tab in Backends view * chore:(deps): bump @apollo/client from 3.5.6 to 3.5.7 (hypertrace#1390) * chore:(deps): bump core-js from 3.20.2 to 3.20.3 (hypertrace#1386) * chore:(deps-dev): bump ng-mocks from 12.5.1 to 13.0.0 (hypertrace#1388) * chore:(deps-dev): bump @types/node from 17.0.5 to 17.0.10 (hypertrace#1389) * chore:(deps-dev): bump @commitlint/cli from 16.0.1 to 16.1.0 (hypertrace#1387) * refactor: updating style of single bar gauge (hypertrace#1392) * feat: Adding state disable to dropdown (hypertrace#1385) Co-authored-by: Patricio Albizu <[email protected]> * Cartesian drilldown (hypertrace#1394) * feat: brusha dded to cartesian chart * feat: cartesian chart select(brush) * feat: cartesian drilldown - completed * feat: cartesian drilldown - model and interaction handler added * feat: timerange drilldown * feat: timerange drilldown * feat: cartesian drilldown select method changed * feat: cartesian drilldown select method changed * feat: cartesian drilldown select method changed * feat: cartesian drilldown - test cases added * feat: cartesian drilldown - test cases added * feat: cartesian drilldown - test cases added * feat: cartesian drilldown - test cases added * feat: cartesian drilldown - test cases added * feat: cartesian drilldown - test cases added * feat: context menu added * feat: context menu added * feat: context menu added * feat: selected points are converted to timestamp * feat: context menu moved to renderer component * feat: context menu location changed * feat: context menu location changed * feat: context menu location changed * feat: context menu moved to interaction handler * feat: fixed lint issues * feat: updated test cases * feat: updated show contxt menu * feat: cartesian drilldown - showing context menu optionally * feat: cartesian chart - test cases updated * feat: cartesian chart - test cases updated * feat: cartesian chart - test cases updated * feat: cartesian chart - test cases updated * feat: cartesian chart - test cases updated * feat: cartesian drilldown comments * feat: cartesian drilldown comments * feat: cartesia chart update bug fixed * feat: context menu test cases updated * feat: context menu test cases updated * feat: context menu test cases updated * feat: set time range option added * feat: context menu navigation handler added * feat: updated imports and test cases * feat: updated imports and test cases * feat: updated imports and test cases * feat: updated imports and test cases * feat: updated imports and test cases * feat: updated imports and test cases * feat: updated imports and test cases * feat: updated imports and test cases * feat: Add formControl disabled to combo-box (hypertrace#1395) * feat: Add fromcontrol disabled to combo-box * feat: fixing disabled Co-authored-by: Patricio Albizu <[email protected]> * refactor: updating style for container widget as per the mocks (hypertrace#1397) * fix(copy-to-clipboard): remove backdrop for tooltip message (hypertrace#1391) * refactor: hide tooltip (hypertrace#1396) * refactor: minor styling changes to shared components (hypertrace#1399) * fix: updated menu dropdown elements to body-1-regular styling. (hypertrace#1401) Co-authored-by: Ankit Das <[email protected]> * chore:(deps): bump @apollo/client from 3.5.7 to 3.5.8 (hypertrace#1402) * chore:(deps-dev): bump @types/node from 17.0.10 to 17.0.13 (hypertrace#1403) * ci: update codecov (hypertrace#1405) * fix: checkbox on write refresh (hypertrace#1404) Co-authored-by: Patricio Albizu <[email protected]> * fix(bug): brush should not be there for cartesian chart if there is no selection handler (hypertrace#1406) * fix(bug): brush should not be there for cartesian chart if there is no selection handler * Update projects/observability/src/shared/components/cartesian/cartesian-chart.component.ts Co-authored-by: Aaron Steinfeld <[email protected]> * Update projects/observability/src/shared/components/cartesian/cartesian-chart.component.ts Co-authored-by: Aaron Steinfeld <[email protected]> * Update projects/observability/src/shared/dashboard/widgets/charts/cartesian-widget/cartesian-widget-renderer.component.ts Co-authored-by: Aaron Steinfeld <[email protected]> * Update projects/observability/src/shared/components/cartesian/cartesian-chart.component.ts Co-authored-by: Aaron Steinfeld <[email protected]> * Update projects/observability/src/shared/components/cartesian/cartesian-chart.component.ts Co-authored-by: Aaron Steinfeld <[email protected]> * Update projects/observability/src/shared/components/cartesian/cartesian-chart.component.ts Co-authored-by: Aaron Steinfeld <[email protected]> * Update projects/observability/src/shared/dashboard/widgets/charts/cartesian-widget/cartesian-widget-renderer.component.ts Co-authored-by: Aaron Steinfeld <[email protected]> Co-authored-by: Aaron Steinfeld <[email protected]> * feat: add minor multiselect improvements (hypertrace#1412) * feat: add minor multiselect improvements * test: fix tests * chore:(deps-dev): bump ng-mocks from 13.0.0 to 13.0.2 (hypertrace#1415) * chore:(deps-dev): bump @types/node from 17.0.13 to 17.0.15 (hypertrace#1416) * chore:(deps-dev): bump jest-config from 27.4.7 to 27.5.0 (hypertrace#1414) * chore:(deps): bump @fullstory/browser from 1.4.10 to 1.5.0 (hypertrace#1417) * chore:(deps-dev): bump ts-node from 10.4.0 to 10.5.0 (hypertrace#1421) * chore:(deps-dev): bump @types/lodash-es from 4.17.5 to 4.17.6 (hypertrace#1419) * chore:(deps-dev): bump @types/mixpanel-browser from 2.36.0 to 2.38.0 (hypertrace#1420) * chore:(deps): bump core-js from 3.20.3 to 3.21.0 (hypertrace#1418) * feat(navigable-tab): add change detection trigger (hypertrace#1410) * feat(navigable-tab): add change detection trigger When tabs are dynamically added or removed change detection will now be automatically triggered. * refactor(navigable-tab): update change detection trigger mechanism * refactor(navigable-tab): remove unused code * feat(ui): added summary-box to consolidate +x usecases (hypertrace#1407) * style(ui): added summary-box to consolidate +x usecases * fix(code) removed ng-template, changed initalisers * fix(naming): refactored summary-box to x-more * fix(code): changed comment * fix(code): fixed linting * fix(code): more linting issues * feat(ui): refactored displayStyles to be specific * fix(error): fixed error in test file * fix(ui): implemented lifecycle hooks * fix(code): fixed linting * fix(code): linting * Update projects/components/src/x-more/x-more.component.ts Co-authored-by: Arjunlal B <[email protected]> * fix(code): deleted unrequired callback Co-authored-by: Arjunlal B <[email protected]> * feat(validators): add domain validator (hypertrace#1409) * feat(validators): add domain validator * feat(validators): updated domain validator regex * fix(validator): add less strict validation * chore: fix lint issue * test(validator): update test cases * test(validator): update test cases * feat: collapsible sidebar (hypertrace#1423) * refactor(time): remove 2 week & 1 month options (hypertrace#1424) Co-authored-by: Christian Quinn <[email protected]> * chore:(deps-dev): bump @commitlint/config-conventional (hypertrace#1427) * chore:(deps-dev): bump @commitlint/cli from 16.1.0 to 16.2.1 (hypertrace#1428) * chore:(deps-dev): bump jest-config from 27.5.0 to 27.5.1 (hypertrace#1430) * chore:(deps-dev): bump @types/node from 17.0.15 to 17.0.17 (hypertrace#1429) * feat(entity-renderer): ability to override icon size (hypertrace#1426) * fix(input): reset on input component not working fix (hypertrace#1433) * Make Traces editable columns filterable for all data types that support it (hypertrace#1434) * feat: configure editable column types to show quick filters if supported * style: prettier * fix: improve query error console messaging (hypertrace#1435) * fix: improve query error console messaging * fix: add mutation message as well * feat: i-frame component created (hypertrace#1408) * feat: iframe widget created * feat: iframe widget - updated test cases * feat: iframe widget - lint errors fixed * feat: iframe widget - lint errors fixed * feat: iframe widget - comments * feat: iframe widget - lint errors fixed * feat: iframe widget - lint errors fixed * feat: iframe widget - comments * I frame widget created (hypertrace#1436) * feat: iframe widget created * feat: iframe widget - updated test cases * feat: iframe widget - lint errors fixed * feat: iframe widget - lint errors fixed * feat: iframe widget - comments * feat: iframe widget - lint errors fixed * feat: iframe widget - lint errors fixed * feat: iframe widget - comments * feat: iframe widget - comments * fix(ui): centered toggle switch vertically (hypertrace#1413) * fix(ui): centered toggle switch vertically * fix(ui): encapsulated mat-slide-toggle in a div * fix(style): added align-items center property * fix(code): fixed linting * feat: table sort change output (hypertrace#1438) * feat: filter changes (hypertrace#1422) * feat: filter changes * refactor: fixing existing code * refactor: revert code * refactor: removing filter which is already matched * style(table): remove border bottom for the last row (hypertrace#1425) * Feat/checkbox control value accessor (hypertrace#1432) * feat(checkbox): add control value accessor implementation * test(checkbox): add supporting test cases for control value accessor * feat(checkbox): fix lint issue * fix(checkbox): type coercion fix * feat(checkbox): add change detection * fix(checkbox): add checked getter * fix(checkbox): add disabled getter * fix(checkbox): fix linting issue * Feat/toggle switch control value accessor (hypertrace#1440) * feat(checkbox): add control value accessor implementation * test(checkbox): add supporting test cases for control value accessor * feat(checkbox): fix lint issue * fix(checkbox): type coercion fix * feat(toggle): add control value accessor * feat(toggle): add change detection * fix(toggle): add checked getter to not make breaking change * fix(toggle): add getter for disabled * fix(toggle): fix lint issue * chore:(deps): bump @apollo/client from 3.5.8 to 3.5.9 (hypertrace#1443) * chore:(deps): bump core-js from 3.21.0 to 3.21.1 (hypertrace#1446) * chore:(deps): bump mixpanel-browser from 2.43.0 to 2.45.0 (hypertrace#1444) * chore:(deps-dev): bump ng-mocks from 13.0.2 to 13.0.3 (hypertrace#1445) * chore:(deps-dev): bump @types/node from 17.0.17 to 17.0.19 (hypertrace#1449) * feat: prefix icon for label tag component (hypertrace#1450) * feat: Adding boolean to inactive isOverMaxBorder (hypertrace#1448) Co-authored-by: Patricio Albizu <[email protected]> * feat: Adding date formatter (hypertrace#1447) * feat: Adding date formatter * feat: adding test Co-authored-by: Patricio Albizu <[email protected]> * refactor: styling changes on select and multi select (hypertrace#1439) * refactor: styling changes on select and multi select * refactor: keep default triggerDisplayMode as undefined * revert: menu with border should be default * refactor: minor styling changes (hypertrace#1452) * fix(group-by): fixing error while changing the group by from a key to none (hypertrace#1453) * refactor: minor style changes (hypertrace#1455) * refactor: minor style changes * refactor: fixing tests * style(ui): added new color (hypertrace#1456) * chore:(deps-dev): bump @compodoc/compodoc from 1.1.18 to 1.1.19 (hypertrace#1457) * chore:(deps-dev): bump @types/jest from 27.4.0 to 27.4.1 (hypertrace#1458) * chore:(deps-dev): bump ng-mocks from 13.0.3 to 13.0.4 (hypertrace#1459) * chore:(deps): bump @fullstory/browser from 1.5.0 to 1.5.1 (hypertrace#1461) * chore:(deps-dev): bump @types/node from 17.0.19 to 17.0.21 (hypertrace#1460) * feat: add full month and year formatter (hypertrace#1462) Co-authored-by: Patricio Albizu <[email protected]> * refactor: adding types to sortedColumn (hypertrace#1466) * fix: control value accessor error in checkbox and toggle (hypertrace#1467) * chore:(deps): bump @apollo/client from 3.5.9 to 3.5.10 (hypertrace#1472) * feat(tooltip): add context data to tooltip (hypertrace#1464) * chore:(deps-dev): bump ts-node from 10.5.0 to 10.7.0 (hypertrace#1474) * chore:(deps): bump zone.js from 0.11.4 to 0.11.5 (hypertrace#1473) * chore:(deps-dev): bump ng-mocks from 13.0.4 to 13.1.0 (hypertrace#1475) * feat: adding template tooltip (hypertrace#1469) * feat: adding template tooltip * feat: fix comments * feat: add htTooltipContext * feat: fix lint * feat: fix comments * Update projects/observability/src/shared/components/bar-gauge/bar-gauge.component.ts * feat: adding segmentContext interface * feat: fix lintern Co-authored-by: Patricio Albizu <[email protected]> * feat: update readme (hypertrace#1470) * feat: adding user telemetry orchestration service (hypertrace#1468) * Update sort icons and adding checkbox in header cell for multi select (hypertrace#1477) * feat: adding checkbox to header for multi selection * refactor: fix tests * refactor: revert checkbox change * refactor: addressing review comments * feat: adding disale property to textarea component (hypertrace#1478) * feat: adding disale property to textarea component * fix: adding necessary manually change detection Co-authored-by: Patricio Albizu <[email protected]> * refactor: adding string array filter and minor table fix (hypertrace#1479) * fix: setting filterable to true for string array (hypertrace#1482) - String array is a new filter that we started supporting * chore:(deps-dev): bump ng-mocks from 13.1.0 to 13.1.1 (hypertrace#1481) * Feat | add error selectors (hypertrace#1480) * feat(notification): add alert type attribute * feat(load-async): add alert type attribute * feat(not-found): add alert type * refactor(error-selectors): update to use enums instead of strings * feat: adding textarea disabled style (hypertrace#1484) * feat: adding textarea disabled style * feat: fix comments * feat: fix comments Co-authored-by: Patricio Albizu <[email protected]> * feat: in memory preferences (hypertrace#1490) * feat: Draggable List (hypertrace#1483) * Dragganble List in progress * feat: add draggable list * feat: fixing lint * feat: fixing lint * feat: fix prettier * feat: adding disabled styles and modify child component * feat: adding T to draggable list Co-authored-by: Patricio Albizu <[email protected]> * feat: making group by compatible with url (hypertrace#1487) * feat: adding a clear selected button to select option (hypertrace#1488) * feat: making group by compatible with url * feat: adding a clear selected button to select option * refactor: changing the button size * refactor: fixing lint and test * feat(telemetry): added rudderstack telemetry js library * feat: added rudderstack provider * chore: added field to telemetry provider config * chore: remove unused imports * feat(telemetry): added rudderstack telemetry js library * feat: added rudderstack provider * chore: added field to telemetry provider config * chore: remove unused imports * fix: add empty telemetry module (hypertrace#1493) * refactor: always use query limits (hypertrace#1496) * refactor: always use query limits * test: update test limits * Page level time range (hypertrace#1441) * feat: initial browser stored page time range * fix: adjusted time range style to match other header buttons * refactor: feature flag added * test: tests for new time range * test: added new test for time range service * refactor: replaced time range icon with calendar * fix: backwards compatibility and dependency issues * fix: moved tr selector back to components * fix: requested changes - naming and TR service * refactor: requested changes, updated route data for new changes Co-authored-by: Christian Quinn <[email protected]> * Feat/select component clear option optional (hypertrace#1492) * feat(select): configurable clear selected option * feat(select): default show clear selected to false * test(select): fix test cases * chore:(deps-dev): bump ng-mocks from 13.1.1 to 13.2.0 (hypertrace#1498) * Add dynamic draggable list (hypertrace#1494) * feat: add dynamic draggable list * feat: fix comments * feat: fix lintern Co-authored-by: Patricio Albizu <[email protected]> * chore:(deps-dev): bump @commitlint/cli from 16.2.1 to 16.2.3 (hypertrace#1497) * refactor: filter and sheet modifications (hypertrace#1495) * refactor: filter and sheet modifications * refactor: fix lint and test errors * refactor: remove duplicate input * refactor: updating method * refactor: fix lint error * fix: in filter parser should support string array (hypertrace#1502) * fix: in filter parser should support string array * refactor: fix tests * Custom date range overflowing with page level time ranges (hypertrace#1499) * fix: overflow for custom date range * Navigation style redesign (hypertrace#1501) * refactor: new dark styles for nav * fix: styling backward compatibility for settings, self-serve, and preferences * refactor: added icon and label to nav list when provided * refactor: nav list projection for env selector * refactor: settings, self-serve, preferences, style compatibility Co-authored-by: Christian Quinn <[email protected]> * feat: Adding option disabled (hypertrace#1504) Co-authored-by: Patricio Albizu <[email protected]> * feat(core-cell-renderer): added duration cell renderer (hypertrace#1476) * feat(core-cell-renderer): added duration cell renderer * fix(test): added test file for renderer * fix(duration-cell-renderer): updated tests and code readability * fix(code): added todo to modify duration pipe * fix(formatting): fixed linting * fix(duration-pipe): updated duration pipe for long display * fix(duration-formatter): restored deleted files * fix(formatting): corrected tab * fix(cell-renderer): updated implementation * fix(imports): removed unrequired import * fix(code): removed unrequired changes * fix(code): reverted unnecessary change * fix(code): fixed linting errors * fix(formatting): code formatting * chore:(deps-dev): bump @types/node from 17.0.21 to 17.0.23 (hypertrace#1505) * fix: remove pagination from log-event-table (hypertrace#1500) * fix: remove pagination from log-event-table * test: fix * refactor: minor tooltip and icon changes (hypertrace#1508) * test: use correct mock functions (hypertrace#1507) * chore:(deps-dev): bump ng-mocks from 13.2.0 to 13.3.0 (hypertrace#1506) * feat: new inputs for newer panel style (hypertrace#1512) * refactor: adding a flex property to confirmation (hypertrace#1513) * feat: support for specifying navigation params to open the page in a new tab where applicable (hypertrace#1503) * feat(sheet overlay): support for nav params config * feat: add storage scoping (hypertrace#1517) * feat: support generating a color combination from a color palette (hypertrace#1510) * feat: support generating a color combination from color palette * feat: code viewer component (hypertrace#1511) * feat: change table session storage to in-memory storage (hypertrace#1518) * fix: adding support for long and double attribute type (hypertrace#1519) * feat: option to add legend on left side (hypertrace#1520) * feat: adding font size property to legend component and style fix (hypertrace#1521) * feat: add operator argument to GraphQlIdFilter (hypertrace#1522) * feat: metric card component (hypertrace#1523) * fix(style): string array cell renderer styling (hypertrace#1525) * fix(styling): styling fixes for cell renderers (hypertrace#1526) * fix(styling): styling fixes for cell renderers * chore: updated rudderstack provider to have only named imports * fix: removed additional field from telemetry config interface * chore: add identify step in user telemetry orchestration service * feat: add rudderstack provider import in root module * fix: gracefully handle load failure in rudderstack provider * fix: remove usertelemetry module import from config module * feat: support to inject values from secrets.js file to window * feat: copy secrets script and dockerfile entrypoint added * chore: add warning message for secrets file * feat: conditionally enable analytics * chore: add exec permission for shell script * chore: add default value for analytics flag to secret file * chore: add ENABLE_ANALYTICS field to window interface * feat: conditionally initialise user telemetry service * fix: handle string matching for analytics flag Co-authored-by: Jake <[email protected]> Co-authored-by: Anand Tiwary <[email protected]> Co-authored-by: Aaron Steinfeld <[email protected]> Co-authored-by: palbizu <[email protected]> Co-authored-by: Patricio Albizu <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Arjunlal B <[email protected]> Co-authored-by: Snyk bot <[email protected]> Co-authored-by: Sandeep Sharma <[email protected]> Co-authored-by: Adithya Sreyaj <[email protected]> Co-authored-by: Adithya Sreyaj <[email protected]> Co-authored-by: Christian Quinn <[email protected]> Co-authored-by: Christian Quinn <[email protected]> Co-authored-by: Jyothish Jose <[email protected]> Co-authored-by: Ankit Das <[email protected]> Co-authored-by: Ankit Das <[email protected]> Co-authored-by: Shreyansh Sahu <[email protected]>
1 parent 7c4c1cd commit 6f64b89

File tree

12 files changed

+504
-8
lines changed

12 files changed

+504
-8
lines changed

Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
FROM nginx:1.21-alpine
22
COPY dist/hypertrace-ui /usr/share/nginx/html
33
COPY conf/default.conf /etc/nginx/conf.d/default.conf
4+
COPY copy-secrets.sh /usr/share/nginx/html
45
RUN chmod a+w /var/cache/nginx /var/run
6+
RUN chmod +x /usr/share/nginx/html/copy-secrets.sh
57
EXPOSE 2020
68
HEALTHCHECK --interval=1s --retries=5 --timeout=1s CMD wget -qO- http://localhost:2020/graphql?query={__schema{queryType{name}}} &> /dev/null || exit 1
9+
ENTRYPOINT copy-secrets.sh

angular.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"tsConfig": "tsconfig.app.json",
2525
"assets": [
2626
"src/favicon.png",
27+
"src/secrets.js",
2728
{
2829
"glob": "**/*",
2930
"input": "./projects/assets-library/assets",

copy-secrets.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/sh
2+
touch secrets.js
3+
if [ -z $ENABLE_ANALYTICS ]
4+
then
5+
ENABLE_ANALYTICS="false"
6+
fi
7+
echo "window.ENABLE_ANALYTICS = \"$ENABLE_ANALYTICS\";" > secrets.js
8+
if [ "$ENABLE_ANALYTICS" = "true" ]
9+
then
10+
echo "window.RUDDERSTACK_HT_WRITE_KEY = \"$RUDDERSTACK_HT_WRITE_KEY\";" >> secrets.js
11+
echo "window.RUDDERSTACK_HT_DATAPLANE_URL = \"$RUDDERSTACK_HT_DATAPLANE_URL\";" >> secrets.js
12+
else
13+
echo "Analytics is disabled"
14+
fi

package-lock.json

Lines changed: 400 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
"lodash-es": "^4.17.21",
6666
"mixpanel-browser": "^2.45.0",
6767
"ngx-color": "7.0.0",
68+
"rudder-sdk-js": "^2.3.0",
6869
"rxjs": "~6.6.7",
6970
"tslib": "^2.3.1",
7071
"uuid": "^8.3.2",

projects/common/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
"d3-interpolate": "^2.0.1",
2323
"d3-color": "^1.4.0",
2424
"@fullstory/browser": "^1.4.9",
25-
"mixpanel-browser": "^2.41.0"
25+
"mixpanel-browser": "^2.41.0",
26+
"rudder-sdk-js": "^2.3.0"
2627
},
2728
"devDependencies": {
2829
"@hypertrace/test-utils": "^0.0.0"

projects/common/src/public-api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ export * from './telemetry/telemetry';
107107
export { FullStoryTelemetry } from './telemetry/providers/fullstory/full-story-provider';
108108
export { FreshPaintTelemetry } from './telemetry/providers/freshpaint/freshpaint-provider';
109109
export { MixPanelTelemetry } from './telemetry/providers/mixpanel/mixpanel-provider';
110+
export { RudderStackTelemetry } from './telemetry/providers/rudderstack/rudderstack-provider';
110111
export { TrackDirective } from './telemetry/track/track.directive';
111112

112113
// Time
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import { Injectable } from '@angular/core';
2+
import { Dictionary } from '../../../utilities/types/types';
3+
4+
import { apiObject, identify, load, page, track } from 'rudder-sdk-js';
5+
import { TelemetryProviderConfig, UserTelemetryProvider, UserTraits } from '../../telemetry';
6+
7+
export interface RudderStackConfig extends TelemetryProviderConfig {
8+
writeKey: string;
9+
}
10+
11+
@Injectable({ providedIn: 'root' })
12+
export class RudderStackTelemetry implements UserTelemetryProvider<RudderStackConfig> {
13+
public initialize(config: RudderStackConfig): void {
14+
try {
15+
load(config.writeKey, config.orgId, { configUrl: config.orgId });
16+
} catch (error) {
17+
/**
18+
* Fail silently
19+
*/
20+
21+
// tslint:disable-next-line: no-console
22+
console.error('Failed to load Rudderstack', error);
23+
}
24+
}
25+
26+
public identify(userTraits: UserTraits): void {
27+
identify(undefined, userTraits as apiObject);
28+
}
29+
30+
public trackEvent(name: string, eventData: Dictionary<unknown>): void {
31+
track(name, eventData as apiObject);
32+
}
33+
34+
public trackPage(name: string, eventData: Dictionary<unknown>): void {
35+
page(name, name, eventData as apiObject);
36+
}
37+
38+
public trackError(name: string, eventData: Dictionary<unknown>): void {
39+
this.trackEvent(name, eventData);
40+
}
41+
}

src/app/root.module.ts

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,23 @@ import { HttpClientModule } from '@angular/common/http';
22
import { NgModule } from '@angular/core';
33
import { BrowserModule } from '@angular/platform-browser';
44
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
5-
import { UserTelemetryModule } from '@hypertrace/common';
5+
import { RudderStackTelemetry, UserTelemetryModule } from '@hypertrace/common';
66
import { ObservabilityDashboardModule } from '@hypertrace/observability';
77
import { ApplicationFrameModule } from './application-frame/application-frame.module';
88
import { ConfigModule } from './config.module';
99
import { RootComponent } from './root.component';
1010
import { RootRoutingModule } from './routes/root-routing.module';
1111
import { NavigationModule } from './shared/navigation/navigation.module';
1212

13+
export type CustomWindow = Window &
14+
typeof globalThis & {
15+
RUDDERSTACK_HT_DATAPLANE_URL?: string;
16+
RUDDERSTACK_HT_WRITE_KEY?: string;
17+
ENABLE_ANALYTICS?: 'true' | 'false';
18+
};
19+
20+
declare const window: CustomWindow;
21+
1322
@NgModule({
1423
imports: [
1524
BrowserModule,
@@ -20,7 +29,18 @@ import { NavigationModule } from './shared/navigation/navigation.module';
2029
HttpClientModule,
2130
ApplicationFrameModule,
2231
ObservabilityDashboardModule,
23-
UserTelemetryModule.forRoot([])
32+
UserTelemetryModule.forRoot([
33+
{
34+
telemetryProvider: RudderStackTelemetry,
35+
enableErrorTracking: true,
36+
enableEventTracking: true,
37+
enablePageTracking: true,
38+
initConfig: {
39+
orgId: window.RUDDERSTACK_HT_DATAPLANE_URL,
40+
writeKey: window.RUDDERSTACK_HT_WRITE_KEY
41+
}
42+
}
43+
])
2444
],
2545
declarations: [RootComponent],
2646
bootstrap: [RootComponent]
Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
11
import { Injectable } from '@angular/core';
22
import { UserTelemetryService } from '@hypertrace/common';
33

4+
import { CustomWindow } from '../../root.module';
5+
6+
declare const window: CustomWindow;
7+
48
@Injectable({
59
providedIn: 'root'
610
})
711
export class UserTelemetryOrchestrationService {
812
public constructor(private readonly userTelemetryService: UserTelemetryService) {}
913

1014
public initialize(): void {
11-
this.userTelemetryService.initialize();
15+
if (window.ENABLE_ANALYTICS === 'true') {
16+
this.userTelemetryService.initialize();
1217

13-
/**
14-
* To Identify user or keep it anonymous, please call this.userTelemetryService.identify()
15-
* to identify the user.
16-
*/
18+
/**
19+
* To Identify user or keep it anonymous, please call this.userTelemetryService.identify()
20+
* to identify the user.
21+
*/
22+
this.userTelemetryService.identify({});
23+
}
1724
}
1825
}

0 commit comments

Comments
 (0)