Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

Commit

Permalink
update to effect package (#55)
Browse files Browse the repository at this point in the history
  • Loading branch information
tim-smart authored Sep 29, 2023
1 parent 3ea304f commit 1ae529d
Show file tree
Hide file tree
Showing 18 changed files with 134 additions and 78 deletions.
5 changes: 5 additions & 0 deletions .changeset/large-kangaroos-jump.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@effect/opentelemetry": minor
---

update to effect package
6 changes: 3 additions & 3 deletions examples/index.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { pipe } from "@effect/data/Function"
import * as Effect from "@effect/io/Effect"
import * as Layer from "@effect/io/Layer"
import * as NodeSdk from "@effect/opentelemetry/NodeSdk"
import * as Resource from "@effect/opentelemetry/Resource"
import * as Tracer from "@effect/opentelemetry/Tracer"
import { ConsoleSpanExporter } from "@opentelemetry/sdk-trace-base"
import * as Effect from "effect/Effect"
import { pipe } from "effect/Function"
import * as Layer from "effect/Layer"

const ResourceLive = Resource.layer({ serviceName: "example" })

Expand Down
12 changes: 6 additions & 6 deletions examples/metrics.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import * as Chunk from "@effect/data/Chunk"
import { millis, seconds } from "@effect/data/Duration"
import { pipe } from "@effect/data/Function"
import * as Effect from "@effect/io/Effect"
import * as Layer from "@effect/io/Layer"
import * as Metric from "@effect/io/Metric"
import * as OtelMetrics from "@effect/opentelemetry/Metrics"
import * as Resource from "@effect/opentelemetry/Resource"
import { PrometheusExporter } from "@opentelemetry/exporter-prometheus"
import * as Chunk from "effect/Chunk"
import { millis, seconds } from "effect/Duration"
import * as Effect from "effect/Effect"
import { pipe } from "effect/Function"
import * as Layer from "effect/Layer"
import * as Metric from "effect/Metric"

const counter = Metric.counter("count", "An example counter")

Expand Down
8 changes: 4 additions & 4 deletions examples/otlp-exporter.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { seconds } from "@effect/data/Duration"
import { pipe } from "@effect/data/Function"
import * as Effect from "@effect/io/Effect"
import * as Layer from "@effect/io/Layer"
import * as NodeSdk from "@effect/opentelemetry/NodeSdk"
import * as Resource from "@effect/opentelemetry/Resource"
import * as Tracer from "@effect/opentelemetry/Tracer"
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http"
import { seconds } from "effect/Duration"
import * as Effect from "effect/Effect"
import { pipe } from "effect/Function"
import * as Layer from "effect/Layer"

const ResourceLive = Resource.layer({ serviceName: "example" })

Expand Down
8 changes: 3 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,8 @@
"@opentelemetry/semantic-conventions": "^1.17.0"
},
"peerDependencies": {
"@effect/data": "^0.18.6",
"@effect/io": "^0.41.0",
"@opentelemetry/api": "^1.4.0"
"@opentelemetry/api": "^1.4.0",
"effect": "2.0.0-next.37"
},
"devDependencies": {
"@babel/cli": "^7.23.0",
Expand All @@ -75,10 +74,8 @@
"@changesets/cli": "^2.26.2",
"@effect/babel-plugin": "^0.2.0",
"@effect/build-utils": "^0.1.4",
"@effect/data": "^0.18.6",
"@effect/docgen": "^0.1.7",
"@effect/eslint-plugin": "^0.1.2",
"@effect/io": "^0.41.0",
"@effect/language-service": "^0.0.21",
"@opentelemetry/api": "^1.6.0",
"@opentelemetry/exporter-prometheus": "^0.43.0",
Expand All @@ -93,6 +90,7 @@
"@vitest/expect": "^0.34.5",
"babel-plugin-annotate-pure-calls": "^0.4.0",
"concurrently": "^8.2.1",
"effect": "2.0.0-next.37",
"eslint": "^8.50.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-codegen": "0.17.0",
Expand Down
56 changes: 37 additions & 19 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions scripts/gen-index.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import * as Fs from "node:fs";

const modules = Fs.readdirSync("src")
.filter((_) => _.endsWith(".ts") && _ !== "index.ts")
.map((_) => _.slice(0, -3));

console.log(
modules
.map((module) => {
const content = Fs.readFileSync(`src/${module}.ts`, "utf8");
const topComment = content.match(/\/\*\*\n.+?\*\//s)?.[0] ?? "";
return `${topComment}
export * as ${module} from "@effect/opentelemetry/${module}"`;
})
.join("\n\n"),
);
8 changes: 4 additions & 4 deletions src/Metrics.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
/**
* @since 1.0.0
*/
import type { LazyArg } from "@effect/data/Function"
import type * as Effect from "@effect/io/Effect"
import type { Layer } from "@effect/io/Layer"
import type * as Scope from "@effect/io/Scope"
import * as internal from "@effect/opentelemetry/internal/metrics"
import type { Resource } from "@effect/opentelemetry/Resource"
import type { MetricReader } from "@opentelemetry/sdk-metrics"
import type { MetricProducer } from "@opentelemetry/sdk-metrics/build/src/export/MetricProducer"
import type * as Effect from "effect/Effect"
import type { LazyArg } from "effect/Function"
import type { Layer } from "effect/Layer"
import type * as Scope from "effect/Scope"

/**
* @since 1.0.0
Expand Down
4 changes: 2 additions & 2 deletions src/NodeSdk.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/**
* @since 1.0.0
*/
import * as Effect from "@effect/io/Effect"
import * as Layer from "@effect/io/Layer"
import { Resource } from "@effect/opentelemetry/Resource"
import type { NodeSDKConfiguration } from "@opentelemetry/sdk-node"
import { NodeSDK } from "@opentelemetry/sdk-node"
import * as Effect from "effect/Effect"
import * as Layer from "effect/Layer"

/**
* @since 1.0.0
Expand Down
4 changes: 2 additions & 2 deletions src/Resource.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/**
* @since 1.0.0
*/
import { Tag } from "@effect/data/Context"
import * as Layer from "@effect/io/Layer"
import * as Resources from "@opentelemetry/resources"
import { SemanticResourceAttributes, TelemetrySdkLanguageValues } from "@opentelemetry/semantic-conventions"
import { Tag } from "effect/Context"
import * as Layer from "effect/Layer"

/**
* @since 1.0.0
Expand Down
10 changes: 5 additions & 5 deletions src/Tracer.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
/**
* @since 1.0.0
*/
import type { Tag } from "@effect/data/Context"
import type * as Option from "@effect/data/Option"
import type { Effect } from "@effect/io/Effect"
import type { Layer } from "@effect/io/Layer"
import type { ExternalSpan, Tracer } from "@effect/io/Tracer"
import * as internal from "@effect/opentelemetry/internal/tracer"
import type { Resource } from "@effect/opentelemetry/Resource"
import type * as Otel from "@opentelemetry/api"
import type { Tag } from "effect/Context"
import type { Effect } from "effect/Effect"
import type { Layer } from "effect/Layer"
import type * as Option from "effect/Option"
import type { ExternalSpan, Tracer } from "effect/Tracer"

/**
* @since 1.0.0
Expand Down
19 changes: 19 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/**
* @since 1.0.0
*/
export * as Metrics from "@effect/opentelemetry/Metrics"

/**
* @since 1.0.0
*/
export * as NodeSdk from "@effect/opentelemetry/NodeSdk"

/**
* @since 1.0.0
*/
export * as Resource from "@effect/opentelemetry/Resource"

/**
* @since 1.0.0
*/
export * as Tracer from "@effect/opentelemetry/Tracer"
18 changes: 9 additions & 9 deletions src/internal/metrics.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,3 @@
import type { LazyArg } from "@effect/data/Function"
import * as HashSet from "@effect/data/HashSet"
import * as Option from "@effect/data/Option"
import * as Effect from "@effect/io/Effect"
import * as Layer from "@effect/io/Layer"
import * as Metric from "@effect/io/Metric"
import type * as MetricKey from "@effect/io/MetricKey"
import * as MetricKeyType from "@effect/io/MetricKeyType"
import * as MetricState from "@effect/io/MetricState"
import * as Resource from "@effect/opentelemetry/Resource"
import type { HrTime } from "@opentelemetry/api"
import { ValueType } from "@opentelemetry/api"
Expand All @@ -20,6 +11,15 @@ import type {
} from "@opentelemetry/sdk-metrics"
import { AggregationTemporality, DataPointType, InstrumentType } from "@opentelemetry/sdk-metrics"
import type { MetricCollectOptions, MetricProducer } from "@opentelemetry/sdk-metrics/build/src/export/MetricProducer"
import * as Effect from "effect/Effect"
import type { LazyArg } from "effect/Function"
import * as HashSet from "effect/HashSet"
import * as Layer from "effect/Layer"
import * as Metric from "effect/Metric"
import type * as MetricKey from "effect/MetricKey"
import * as MetricKeyType from "effect/MetricKeyType"
import * as MetricState from "effect/MetricState"
import * as Option from "effect/Option"

const sdkName = "@effect/opentelemetry/Metrics"

Expand Down
20 changes: 10 additions & 10 deletions src/internal/tracer.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import * as Context from "@effect/data/Context"
import * as List from "@effect/data/List"
import * as Option from "@effect/data/Option"
import * as Cause from "@effect/io/Cause"
import * as Effect from "@effect/io/Effect"
import type { Exit } from "@effect/io/Exit"
import * as FiberRef from "@effect/io/FiberRef"
import * as FiberRefs from "@effect/io/FiberRefs"
import * as Layer from "@effect/io/Layer"
import * as Tracer from "@effect/io/Tracer"
import { Resource } from "@effect/opentelemetry/Resource"
import * as OtelApi from "@opentelemetry/api"
import * as Cause from "effect/Cause"
import * as Context from "effect/Context"
import * as Effect from "effect/Effect"
import type { Exit } from "effect/Exit"
import * as FiberRef from "effect/FiberRef"
import * as FiberRefs from "effect/FiberRefs"
import * as Layer from "effect/Layer"
import * as List from "effect/List"
import * as Option from "effect/Option"
import * as Tracer from "effect/Tracer"

/** @internal */
export class OtelSpan implements Tracer.Span {
Expand Down
4 changes: 2 additions & 2 deletions test/Metrics.test.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import * as Effect from "@effect/io/Effect"
import * as Metric from "@effect/io/Metric"
import * as internal from "@effect/opentelemetry/internal/metrics"
import * as it from "@effect/opentelemetry/test/utils/extend"
import { ValueType } from "@opentelemetry/api"
import { Resource } from "@opentelemetry/resources"
import * as Effect from "effect/Effect"
import * as Metric from "effect/Metric"

const findMetric = (metrics: any, name: string) =>
metrics.resourceMetrics.scopeMetrics[0].metrics.find((_: any) => _.descriptor.name === name)
Expand Down
6 changes: 3 additions & 3 deletions test/Tracer.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { identity } from "@effect/data/Function"
import * as Effect from "@effect/io/Effect"
import * as Layer from "@effect/io/Layer"
import { OtelSpan } from "@effect/opentelemetry/internal/tracer"
import * as NodeSdk from "@effect/opentelemetry/NodeSdk"
import * as Resource from "@effect/opentelemetry/Resource"
import * as it from "@effect/opentelemetry/test/utils/extend"
import * as Tracer from "@effect/opentelemetry/Tracer"
import * as OtelApi from "@opentelemetry/api"
import { InMemorySpanExporter } from "@opentelemetry/sdk-trace-base"
import * as Effect from "effect/Effect"
import { identity } from "effect/Function"
import * as Layer from "effect/Layer"

const TracingLive = Layer.provide(
Resource.layer({ serviceName: "test" }),
Expand Down
4 changes: 2 additions & 2 deletions test/utils/extend.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { pipe } from "@effect/data/Function"
import * as Effect from "@effect/io/Effect"
import * as Effect from "effect/Effect"
import { pipe } from "effect/Function"
import * as V from "vitest"

export type API = V.TestAPI<{}>
Expand Down
Loading

0 comments on commit 1ae529d

Please sign in to comment.